[pypy-svn] r59435 - pypy/build/doc
xoraxax at codespeak.net
xoraxax at codespeak.net
Mon Oct 27 01:25:03 CET 2008
Author: xoraxax
Date: Mon Oct 27 01:25:01 2008
New Revision: 59435
Modified:
pypy/build/doc/benchmark_memory.txt
Log:
Some thoughts about memory benchmarking.
Modified: pypy/build/doc/benchmark_memory.txt
==============================================================================
--- pypy/build/doc/benchmark_memory.txt (original)
+++ pypy/build/doc/benchmark_memory.txt Mon Oct 27 01:25:01 2008
@@ -16,7 +16,7 @@
running the GC benchmarks - either launched
independently, or forked from a single process
-* measure the "percieved pauses" for interactive apps
+* measure the "perceived pauses" for interactive apps
when running on GCs with stop-the-world collection
(i.e. all our framework GCs so far).
@@ -55,8 +55,23 @@
* Aim for reproducible results, e.g. by combining some of
these techniques:
- checkpoints (perform measures at known execution points);
+ Then we would simply dump allocation information
+ on every n'th malloc and a few times in every garbage
+ collection run.
+ We could either do this by dumping internal information
+ from the garbage collector (not accounting for rawmalloc
+ properties) or by blocking the process
+ in the malloc and gc code and advising the checkpointing
+ process to checkpoint. Note that this does not reflect
+ all properties of the virtual memory system because
+ the page tables will likely also change in between these
+ synchronization points.
- high-res sampling (either in the real system or in
emulators, e.g. look at valgrind tools).
+ - valgrind provides a heap profiler called "massif",
+ but valgrind only runs on x86 or similar. We can
+ assume that the heap allocation profile is very
+ similar on different platforms, right?
* The "perceived pause" is probably best approximated by
the time it takes to perform a single collection. For
@@ -64,6 +79,10 @@
collections of various levels; for example, nursery-only
collections are very fast, probably too fast to be
noticeable in interactive apps.
+
+ In order to gather this information, the framework GCs
+ need to be able to dump the collection statistics in a
+ reusable manner.
* real APPS:
* some sympy computation/test?
More information about the Pypy-commit
mailing list