This module will maintain a table with cached nodeaccess permissions for every user. The table should look like this:

nodeaccess_cache:
nid (foreign key)
uid (foreign key)
updated (timestamp)
read (0 / 1)
edit (0 / 1)

index: nid, uid, read
index: nid, uid, edit

The purpose of this table is to make simple the appending of conditions to SQL join clauses to determine if a node has read/write permission to the currently logged in user.

The table should kept up to date using the cron backend. It should only update entries which have been updated recently. It should prioritize updates for users who have accessed the site recently.

This module provides a Views filter, "Current user has read permission" and "Current user has write permission".