[pypy-svn] r58044 - in pypy: branch/cross-compilation/pypy/doc/discussion build/doc
hpk at codespeak.net
hpk at codespeak.net
Wed Sep 10 18:56:08 CEST 2008
Author: hpk
Date: Wed Sep 10 18:56:06 2008
New Revision: 58044
Removed:
pypy/branch/cross-compilation/pypy/doc/discussion/gc-memory-notes.txt
Modified:
pypy/build/doc/benchmark_memory.txt
Log:
merging fijal notes into new benchmark_memory doc
Modified: pypy/build/doc/benchmark_memory.txt
==============================================================================
--- pypy/build/doc/benchmark_memory.txt (original)
+++ pypy/build/doc/benchmark_memory.txt Wed Sep 10 18:56:06 2008
@@ -1,4 +1,7 @@
-Considerations regarding Memory Benchmarks
+
+XXX draft doc
+
+what we want to measure
===============================================
* measure min/max/avg process-private RAM usage of a Benchmark
@@ -7,6 +10,11 @@
* measure CPU usage of benchmark
+* measure one and multiple interpreter instances at a given time
+
+Benchmark targets
+--------------------
+
* Microbenchmarks probably with checkpoints in order to have
reproducible RAM usage measurements and to analyse
specific object types (strings/dicts/lists/old-style/new-style
@@ -14,11 +22,10 @@
(reuse some of the speed benchmarks?)
* Scenario/App Benchmarks:
- * allocate objects all the time but have mostly constant
- number of life objects
- * have small number of objects objects, create many,
+ * allocate objects all the time, total number of objects stay constant
+ * allocate objects in bursts and immediately throw them away
+ * constant small number live objects, burst-allocate many,
free them all, repeat
-
* use several sets of "small" and "many"
* real APPS:
@@ -26,6 +33,38 @@
* an app involving c-extensions?
* ask around on pypy-dev for example apps
-* measurements against CPython, pypy-c with various options
+Interpreters
+---------------
+
+* CPython 2.5
+* pypy-c --opt=3
+* pypy-c various options/GCs
+
+
+notes about memory-saving GCs
+===============================
+
+XXX go into more detail, discuss which pypy GCs we want to try
+
+* squeak-like mark-compact collector
+
+* deferred refcounting strategy
+
+* deferred refcounting with a nursery
+
+
+Implementation
+===========================
+
+measuring memory on Linux
+-----------------------------
+
+Unless we can use some external tool we
+can parse info located in /proc/PID/smaps.
+This provides detailed info, see e.g. here
+for some explanations:
+ http://bmaurer.blogspot.com/2006/03/memory-usage-with-smaps.html
+For us mostly process private memory, RSS (Resident Set Size)
+and shared memory will be interesting to measure.
More information about the Pypy-commit
mailing list