• Ell's avatar
    buffer: in cache, replace global tile queue with per-instance queues · 275df09c
    Ell authored
    Currently, we maintain a global queue of tiles, ordered by access
    time, from most-recent to least-recent.  This requires us to
    acquire a global mutex whenever accessing/inserting a tile, in order
    to maintain the queue.
    
    The commit replaces the global tile queue with per-instance tile
    queues, ordered by the same criterion, which allows us to avoid
    acquiring the global cache mutex in the above cases.  The global
    mutex mainly has to be acquired only during cache construction,
    destruction, and trimming.
    
    To keep trimming simple, and relatively efficient, this commit
    changes the cache eviction strategy: instead of evicting the least-
    recently accessed tile first, we evict the least-recently accessed
    tile of the least-recently accessed cache first (which might not be
    the least-recently accessed tile overall).
    275df09c
Name
Last commit
Last update
bin Loading commit data...
build/buildbot Loading commit data...
docs Loading commit data...
examples Loading commit data...
gcut Loading commit data...
gegl Loading commit data...
libs Loading commit data...
m4 Loading commit data...
opencl Loading commit data...
operations Loading commit data...
perf Loading commit data...
po Loading commit data...
seamless-clone Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.kateconfig Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
HACKING Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
gegl-uninstalled.pc.in Loading commit data...
gegl.doap Loading commit data...
gegl.pc.in Loading commit data...