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.

Reply via email to