ftmemsim-valgrind/docs/internals/performance.txt
Nicholas Nethercote a75ddd7aaa add note about recent performance improvement
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5349
2005-12-15 19:41:14 +00:00

30 lines
1.4 KiB
Plaintext

-----------------------------------------------------------------------------
Notes on performance
-----------------------------------------------------------------------------
The intent of this file is to record progress in improving performance.
-----------------------------------------------------------------------------
Just before 3.1.0:
- Julian made LibVEX_Alloc() inlinable. Saved a couple of percent.
- Julian started building Vex at -O2. Saved up to 8% or so(?) in some
cases.
Post 3.1.0:
- Julian made the tree builder linear. Saved 2--13% on a range of programs.
- Nick improved vg_SP_update_pass() to identify more small constant
increments/decrements of SP, so the fast cases can be used more often.
Saved 1--3% on a few programs.
- r5345,r5346: Julian improved the dispatcher so that x86 and AMD64 use
jumps instead of call/return for calling translations, and also removed
the --profile-flags profiling from the dispatcher unless --profile-flags
is being used. Improved Nulgrind performance typically by 10--20%,
and Memcheck performance typically by 2--20%.
COMPVBITS branch:
- Nick converted to compress V bits, initial version saved 0--5% on most
cases, with a 30% improvement on one case (tsim_arch) which calls
set_address_range_perms() a lot.
- Nick rewrote set_address_range_perms(), which gained 0--3% typically,
and 22% on tsim_arch.