Next: File formats, Previous: Diagnostic messages, Up: Top
The following times were obtained on a Sun Ultra 5 with an UltraSPARC IIi processor running at 333MHz and running Solaris 7. The test performed was the one in tests/pass/test1.c and all tests were run on a lightly loaded system, but were run several times to obtain an average result. Obviously, these times can only be an approximation, but should serve to illustrate the effects on performance that each option can have. All times are given in seconds, and the second time on each line was obtained with the same options plus the NOPROTECT option. The tests were all run with the default CHECK=0 option, so running with the CHECK=- option would slow things down dramatically, albeit with more checking being performed to detect heap corruption.
Running with basic options:
no options | 0.525 | 0.258
|
OFLOWSIZE=2 | 0.569 | 0.265
|
OFLOWSIZE=8 | 0.580 | 0.276
|
PAGEALLOC=LOWER | 0.709 | 0.462
|
PAGEALLOC=UPPER | 0.742 | 0.485
|
Running when all freed memory allocations are kept:
NOFREE=0xFFFF | 0.711 | 0.338
|
NOFREE=0xFFFF OFLOWSIZE=2 | 0.725 | 0.350
|
NOFREE=0xFFFF OFLOWSIZE=8 | 0.739 | 0.358
|
NOFREE=0xFFFF PAGEALLOC=LOWER | 1.048 | 0.710
|
NOFREE=0xFFFF PAGEALLOC=UPPER | 1.079 | 0.722
|
Running when all freed memory allocations are kept and their contents are preserved:
NOFREE=0xFFFF PRESERVE | 0.725 | 0.341
|
NOFREE=0xFFFF PRESERVE OFLOWSIZE=2 | 0.735 | 0.357
|
NOFREE=0xFFFF PRESERVE OFLOWSIZE=8 | 0.745 | 0.360
|
NOFREE=0xFFFF PRESERVE PAGEALLOC=LOWER | 1.055 | 0.722
|
NOFREE=0xFFFF PRESERVE PAGEALLOC=UPPER | 1.081 | 0.729
|
Running using watch points to check the overflow buffers:
OFLOWSIZE=2 OFLOWWATCH | 28.758 | 28.372
|
Running using the Solaris malloc libraries:
Solaris malloc(3c) library | 0.030
|
Solaris malloc(3x) library | 0.033
|
Solaris bsdmalloc(3x) library | 0.027
|
Solaris mapmalloc(3x) library | 0.030
|
Solaris watchmalloc(3x) library | 30.323
|