Comment #2 on issue 256 by [email protected]: [patch] decrease
resident memory usage.
http://code.google.com/p/address-sanitizer/issues/detail?id=256
My use case is the binary that contains all the unit tests for the base
library, it contains a lot of small and some huge allocations. The huge
allocations (a few mmap of 256MiB) are quite rare but enough to have an
impact on the amount of resident memory consumed by Asan's shadow memory.
I ran the attached benchmark (a binary tree with resizable arrays in the
nodes) on a Linux desktop (Linux 3.8). This gave the following result (best
occurrence given for both):
* without my patch:
User time (seconds): 77.39
System time (seconds): 0.26
Maximum resident set size (kbytes): 500176
* with my patch:
User time (seconds): 77.42
System time (seconds): 0.30
Maximum resident set size (kbytes): 499168
AFAICT, the difference in term of performance is well under the measure
error threshold, so I tend to conclude that the patch has no noticeable
impact on performance (or at most a very tiny slowdown).
In both cases, the program was compiles with clang 3.4 with the following
command line:
clang -O2 -g -fsanitize=address -o blah blah.c
Let me know if you have a better idea for a meaningful benchmark.
Attachments:
blah.c 3.1 KB
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.