This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Optional memory profiler
Type: Stage:
Components: Interpreter Core Versions:
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: jhylton Nosy List: jhylton, loewis, marangoz
Priority: low Keywords: patch

Created on 2000-08-19 06:49 by marangoz, last changed 2022-04-10 16:02 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
None marangoz, 2000-08-19 06:49 None
Messages (6)
msg33946 - (view) Author: Vladimir Marangozov (marangoz) * (Python triager) Date: 2000-08-19 06:49
 
msg33947 - (view) Author: Vladimir Marangozov (marangoz) * (Python triager) Date: 2000-08-19 07:18
An optional memory profiler, which goes in tandem with the optional
object memory allocator (SourceForge patch #101104). The profiler was
introduced briefly on python-dev:
http://www.python.org/pipermail/python-dev/2000-August/015239.html

Applying both patches gives for me (screen dump):

~> patch -p1 < ../obmalloc-patch
patching file `Include/objimpl.h'
patching file `Objects/object.c'
patching file `Objects/obmalloc.c'
patching file `acconfig.h'
patching file `configure.in'
~> patch -p1 < ../memprof-patch
patching file `Include/pydebug.h'
patching file `Modules/Setup.config.in'
patching file `Modules/main.c'
patching file `Modules/memprof.c'
patching file `Python/pythonrun.c'
patching file `acconfig.h'
patching file `configure.in'

- Don't forget that you need to autoheader; autoconf;

This patch:

1) introduces a new --with-memprof configure option. Off by default.
2) introduced a Py_ProfileFlag and a "-p" Python option which starts
    the profiler in Py_Initialize() before any initializations, and stops it
    in Py_Finalize() after all finalizations.
3) contains a new Modules/memprof.c module. The inclusion of this file
   in the core is similar to the thread and GC modules (Setup.config.in)

The patch *can* be applied without the object allocator and it *does*
compile on request. However, it issues a warning that it won't profile
anything, because it can't be called (the profiler can't install its hooks).
Besides, it will refuse to start(). The point is that both the profiler and
the allocator are really optional.

Needs docs & tests :( The interface can be improved (just like everything
else) but the core functionality is there. It *is* useful for getting snapshots
of the minimum allocated (object) memory, at least. Some worthy points to
condifer, IMO, are listed in the TODO of memprof.c.

I am submitting this for testing, reviewing, comments and more ideas.
Overall, I think it is a BIG plus regarding Python's typical introspection.

Comments welcome. As usual, flames to /dev/null <wink>.

Status set straight to Postponed. Assigned to marangoz who's in charge of
opening it in due time, together with #101104.
msg33948 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2001-06-04 07:02
Logged In: YES 
user_id=21627

The patch, in its current form, fails to apply (4 hunks 
fail). Also, the URL of the discussion of the patch 
changed to

http://mail.python.org/pipermail/python-dev/2000-August/008527.html

I recommend to reject this patch, since I cannot see what 
use the information it produces has to a Python developer.
If there is a desire to have the feature in Python, I'd 
volunteer to provide an updated patch.
msg33949 - (view) Author: Jeremy Hylton (jhylton) (Python triager) Date: 2001-08-09 14:51
Logged In: YES 
user_id=31392

I had the impression that the feature was useful, but
haven't had any time to spend on it.  I'm not sure if
spending time on it before 2.2 is a good use of time or not.
 I'd rather keep this patch around as a reminder than close
it, but I'll mark it out of date and give it a low priority.
msg33950 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-03-09 10:42
Logged In: YES 
user_id=21627

I still recommend to reject this patch.
msg33951 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-07-15 10:25
Logged In: YES 
user_id=21627

I'm closing this patch now. I believe the statistics
functions of Tim's recent pymalloc changes overlap in
functionalilty with this patch, and apparently, nobdody has
a real need for the feature.
History
Date User Action Args
2022-04-10 16:02:18adminsetgithub: 32959
2000-08-19 06:49:39marangozcreate