On 8/18/26 10:42, Matt Turner wrote:
The per-CPU TB jump cache has held 4096 entries since it was introduced.
That is too small for guests running large programs: an emulated compiler
misses often enough that the fallback qht lookup shows up prominently in
a profile.

Measured with qemu-alpha running an emulated alpha gcc 16.2.0 compiling
the SQLite 3.45.1 amalgamation (255k lines, -O2) on an x86-64 host. The
compile performs 34.2 billion TB executions, of which 8.4 billion take
the indirect dispatch path.

Sizing curve, on top of the preceding patch, instructions retired and
wall clock:

     12 bits (  64 KiB): 1,563,829,403,943          133.13s
     14 bits ( 256 KiB): 1,493,865,985,972  -4.47%  124.89s  -6.19%
     16 bits (   1 MiB): 1,469,729,281,442  -6.02%  120.97s  -9.13%
     18 bits (   4 MiB): 1,462,262,363,257  -6.49%  120.16s  -9.74%
Interesting.  Previously we had performance issues with the jump cache too 
big...


r~

Reply via email to