[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