[ python-Feature Requests-1449496 ] Python should use 3GB Address Space on Windows

SourceForge.net noreply at sourceforge.net
Tue Mar 21 01:54:53 CET 2006


Feature Requests item #1449496, was opened at 2006-03-14 06:04
Message generated for change (Comment added) made by tim_one
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1449496&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Windows
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Martin Gfeller (gfe)
Assigned to: Nobody/Anonymous (nobody)
Summary: Python should use 3GB Address Space on Windows

Initial Comment:
Python runs fine using a 3GB address space on 32bit 
Windows.

To take advantage of this feature, Python should be 
linked using the /LARGEADDRESSAWARE flag of the 
linker. 

For details, please refer to:

http://msdn.microsoft.com/library/en-
us/memory/base/4gt_ram_tuning.asp

As most Windows users just use pre-built executables, 
this would be a worthwhile change. 

Best regards,
Martin Gfeller



----------------------------------------------------------------------

>Comment By: Tim Peters (tim_one)
Date: 2006-03-20 19:54

Message:
Logged In: YES 
user_id=31435

Thanks, Martin.  Raymond Chen notes that some C code can
fail when this is enabled:

http://blogs.msdn.com/oldnewthing/archive/2004/08/12/213468.aspx

I doubt that core Python's C has 2GB assumptions, but
extension modules might.  Provided that whoever cares enough
to write the patch (sorry, I don't) points to that info (in
the NEWS file would be good enough), this is fine by me.

----------------------------------------------------------------------

Comment By: Martin Gfeller (gfe)
Date: 2006-03-20 07:08

Message:
Logged In: YES 
user_id=884167

Tim, the /LARGEADDRESSAWARE flag just specifies whether 
python.exe is enabled for #GB addresses, i.e. doesn't use 
dubious pointer manipulations that make it fail with a 3GB 
address space. 

It does not cause Windows to provide the 3GB address space, 
nor to reduce cache and pool size - that is controlled 
separately by the /3GB boot switch (and various registry 
settings for finer control of cache and pool sizes).

In other words, it is an enabling declaration, not a 
control parameter. 

Josiah, I don't compile on Windows, hence cannot provide a 
patch. What I did is applying the flag to the executable by 
using editbin.exe. 

Brgds, Martin

----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2006-03-17 21:38

Message:
Logged In: YES 
user_id=31435

MS also says "However, the file cache, paged pool, and
non-paged pool are smaller, which can adversely affect
applications with heavy networking or I/O", so the rationale
for making this change is clear as mud.  That is, it's not a
pure win: some apps win at the expense of others.

----------------------------------------------------------------------

Comment By: Josiah Carlson (josiahcarlson)
Date: 2006-03-17 19:38

Message:
Logged In: YES 
user_id=341410

Microsoft claims that the switch does not negatively affect
users on systems without large amounts of memory, and the
extra gig of memory on platforms which could use it would be
nice.

Can you offer a patch?

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1449496&group_id=5470


More information about the Python-bugs-list mailing list