I needed a fast way to render unicode text, and so EoM is using a glyph cache.
The glyph cache stores a subset of unicode character glyphs, and attempts to minimize changes to the set.
ASCII text is not “cached,” and so normal english text will use cache very rarely.
The cache uses 4 hash tables, which use a double-doubly-linked-list to hold data in bins, which the second list nodes are used to find the LRU glyph.
I tested the cache on a korean wikipedia page. Small caches (capable of holding 256 unicode characters) had cache misses on about 50% of the characters, while large caches(1024 characters) got 15% cache misses.
I have yet to test it with very large cache sizes, as I can’t find extremely long korean text that is easy to test.