[pypy-svn] r58071 - pypy/build/doc
hpk at codespeak.net
hpk at codespeak.net
Thu Sep 11 18:51:19 CEST 2008
Author: hpk
Date: Thu Sep 11 18:51:16 2008
New Revision: 58071
Added:
pypy/build/doc/benchmark_memory_gcnotes.txt (contents, props changed)
Modified:
pypy/build/doc/benchmark_memory.txt (contents, props changed)
Log:
* shifting gc notes to a separate doc for now as discussed with fijal
(it's too unmotivated in the benchmark_memory.txt section for now)
* shifting "measuring memory" on linux to the implementation section
where we also discuss /proc/pid/smaps afterwards, kind of serves
as motiviation for this.
* some more boilerplate / warnings here and there
Modified: pypy/build/doc/benchmark_memory.txt
==============================================================================
--- pypy/build/doc/benchmark_memory.txt (original)
+++ pypy/build/doc/benchmark_memory.txt Thu Sep 11 18:51:16 2008
@@ -1,5 +1,14 @@
+===============================================
+Benchmarking Memory usage of Python/PyPy
+===============================================
+
+$Id$
-XXX draft doc, needs discussion, review
+XXX this is a draft incomplete document
+XXX next step is to lay out and write
+XXX the benchmarking infrastructure and
+XXX to incrementally complete and update
+XXX the document
what we want to measure
===============================================
@@ -59,8 +68,8 @@
* an app involving c-extensions?
* ask around on pypy-dev for example apps
-Interpreters
----------------
+Interpreter instances to consider for measurement
+----------------------------------------------------
* CPython 2.5
* pypy-c --opt=mem
@@ -69,6 +78,11 @@
We want to select and optimize good underlying settings for
PyPy's choices regarding "--opt=mem".
+XXX consider more specific target environments
+
+Implementation
+===========================
+
Measuring memory usage
------------------------
@@ -90,37 +104,14 @@
swapping. When Y and Z agree, we found a good way to measure
memory usage.
-notes about memory-saving GCs
-===============================
-
-XXX go into more detail, discuss which pypy GCs we want to try
-XXX [fijal] I think both approaches are worth trying. We need to see
- how they behave or try to think how much memory it'll be needed for
- a GC header. note that deferred refcounting without nursery is needed
- for deferred refcounting with nursery (just because it's easier to have
- this in steps). We also want to consider impacts of fragmentation and
- how underlaying C library handles stuff (ie do we use obmalloc or no.
- does it return memory to the OS or no for small objects etc.)
-
-* squeak-like mark-compact collector
-
-* deferred refcounting strategy
-
-* deferred refcounting with a nursery
-
-
-Implementation
-===========================
-
Understanding linux /proc/pid/smaps info
-------------------------------------------
XXX please review, correct, complete so we get to a shared good understanding
-The most detailed info apparently is provided
-by /proc/PID/smaps, starting from linux 2.6.14.
-Here is an example output of running
-"python2.5" on a linux 2.6.24 ubuntu machine::
+The most detailed info is provided by /proc/PID/smaps,
+starting from linux 2.6.14. Here is an example output
+of running "python2.5" on a linux 2.6.24 ubuntu machine::
08048000-08140000 r-xp 00000000 08:01 89921 /usr/bin/python2.5
@@ -200,25 +191,10 @@
and measure memory foot print - producing data that can
be parsed back and used for producing graphs, tables etc.
-See also tools for maemo:
+Cross-Check also for tools against maemo:
http://maemo.org/development/tools/doc/diablo/sp-smaps-measure/
http://maemo.org/development/tools/doc/diablo/sp-memusage/
-
-XXX NOTES XXXX
------------------
-notes on scenarios from fijal which need to be checked if they
-are sufficiently reflected in the above sections.
-
-1. Measure private memory when no other interpreter's
- process exist.
-
-2. Measure private memory with another interprerter running at the same time.
-
-3. Measure amount of private memory owned by process that was forked from
- other interpreter process.
-
-4. Measure total RAM usage/RSS size in case process is running vs
- total RAM usage when process is not running.
+XXX discuss and write toolchain
Added: pypy/build/doc/benchmark_memory_gcnotes.txt
==============================================================================
--- (empty file)
+++ pypy/build/doc/benchmark_memory_gcnotes.txt Thu Sep 11 18:51:16 2008
@@ -0,0 +1,20 @@
+
+notes about memory-saving GCs
+===============================
+
+XXX go into more detail, discuss which pypy GCs we want to try
+XXX [fijal] I think both approaches are worth trying. We need to see
+ how they behave or try to think how much memory it'll be needed for
+ a GC header. note that deferred refcounting without nursery is needed
+ for deferred refcounting with nursery (just because it's easier to have
+ this in steps). We also want to consider impacts of fragmentation and
+ how underlaying C library handles stuff (ie do we use obmalloc or no.
+ does it return memory to the OS or no for small objects etc.)
+
+* squeak-like mark-compact collector
+
+* deferred refcounting strategy
+
+* deferred refcounting with a nursery
+
+
More information about the Pypy-commit
mailing list