[Python-checkins] python/dist/src/PC/os2emx README.os2emx,1.1,1.2

aimacintyre@users.sourceforge.net aimacintyre@users.sourceforge.net
2002年8月17日 23:28:23 -0700


Update of /cvsroot/python/python/dist/src/PC/os2emx
In directory usw-pr-cvs1:/tmp/cvs-serv13992
Modified Files:
	README.os2emx 
Log Message:
make port notes current
Index: README.os2emx
===================================================================
RCS file: /cvsroot/python/python/dist/src/PC/os2emx/README.os2emx,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** README.os2emx	17 Feb 2002 05:23:30 -0000	1.1
--- README.os2emx	18 Aug 2002 06:28:21 -0000	1.2
***************
*** 6,12 ****
 
 This release of the port incorporates the following changes from the 
! December 24, 2001 release of the Python 2.2 port:
 
 - based on the Python v2.3 final release source.
 
 
--- 6,19 ----
 
 This release of the port incorporates the following changes from the 
! April 14, 2002 release of the Python 2.2.1 port:
 
 - based on the Python v2.3 final release source.
+ - now setting higher number of file handles (250).
+ - defaults to building with PyMalloc enabled (Python 2.3 default).
+ - the port is now maintained in the Python CVS repository.
+ 
+ Python 2.3 incorporates several changes which have resolved the 
+ longstanding problems the EMX port has had with test_longexp (used 
+ to be "YOU HAVE BEEN WARNED" item 1).
 
 
***************
*** 67,74 ****
 - v2.1.1 on August 5, 2001;
 - v2.1.1 on August 12, 2001 (cleanup release);
! - v2.1.1 (updated DLL) on August 14, 2001.
! - v2.2b2 on December 8, 2001 (not uploaded to archive sites)
! - v2.2c1 on December 16, 2001 (not uploaded to archive sites)
! - v2.2 on December 24, 2001
 
 It is possible to have these earlier ports still usable after installing 
--- 74,83 ----
 - v2.1.1 on August 5, 2001;
 - v2.1.1 on August 12, 2001 (cleanup release);
! - v2.1.1 (updated DLL) on August 14, 2001;
! - v2.2b2 on December 8, 2001 (not uploaded to archive sites);
! - v2.2c1 on December 16, 2001 (not uploaded to archive sites);
! - v2.2 on December 24, 2001;
! - v2.2.1c2 on March 31, 2002 (not uploaded to archive sites);
! - v2.2.1 on April 14, 2002.
 
 It is possible to have these earlier ports still usable after installing 
***************
*** 92,96 ****
 - GNU GDBM (Kai Uwe Rommel's port available from Hobbes or LEO, v1.7.3)
 - zlib (Hung-Chi Chu's port available from Hobbes or LEO, v1.1.3)
! - expat (from ftp://ftp.jclark.com/pub/xml/, v1.2)
 - GNU MP (Peter Meerwald's port available from LEO, v2.0.2)
 - GNU UFC (Kai Uwe Rommel's port available from LEO, v2.0.4)
--- 101,105 ----
 - GNU GDBM (Kai Uwe Rommel's port available from Hobbes or LEO, v1.7.3)
 - zlib (Hung-Chi Chu's port available from Hobbes or LEO, v1.1.3)
! - expat (distributed with Python, v1.95.2)
 - GNU MP (Peter Meerwald's port available from LEO, v2.0.2)
 - GNU UFC (Kai Uwe Rommel's port available from LEO, v2.0.4)
***************
*** 114,118 ****
 Python23.dll is created as a normal OMF DLL, with an OMF import 
 library and module definition file. There is also an a.out (.a) import 
! library to support linking the DLL to a.out executables.
 
 This port has been built with complete support for multithreading.
--- 123,128 ----
 Python23.dll is created as a normal OMF DLL, with an OMF import 
 library and module definition file. There is also an a.out (.a) import 
! library to support linking the DLL to a.out executables. The DLL 
! requires the EMX runtime DLLs.
 
 This port has been built with complete support for multithreading.
***************
*** 279,322 ****
 I know about a number of nasties in this port.
 
! 1. EMX's malloc() and/or the underlying OS/2 VM system aren't particularly 
! comfortable with Python's use of heap memory. The test_longexp regression 
! test exhausts the available swap space on a machine with 64MB of RAM with 
! 150MB of available swap space.
! 
! Using a crudely instrumented wrapper around malloc()/realloc()/free(), the 
! heap memory usage of the expression at the core of the test 
! (eval('[' + '2,' * NUMREPS + ']')) is as follows (approximately):
! NUMREPS = 1 => 300k
! NUMREPS = 10000 => 22MB
! NUMREPS = 20500 => 59MB
! 
! I don't even have enough memory to try for NUMREPS = 25000 :-(, let alone 
! the NUMREPS = 65580 in test_longexp! I do have a report that the test 
! succeeds in the presence of sufficient memory (~200MB RAM).
! 
! During the course of running the test routine, the Python parser 
! allocates lots of 21 byte memory chunks, each of which is actually 
! a 64 byte allocation. There are a smaller number of 3 byte allocations 
! which consume 12 bytes each. Consequently, more than 3 times as much 
! memory is allocated than is actually used.
! 
! The Python Object Allocator code (PyMalloc) was introduced in Python 2.1 
! for Python's core to be able to wrap the malloc() system to deal with 
! problems with "unfriendly" malloc() behaviour, such as this. Unfortunately 
! for the OS/2 port, it is only supported for the allocation of memory for 
! objects, whereas my research into this problem indicates it is the parser 
! which is source of this particular malloc() frenzy.
! 
! I have attempted using PyMalloc to manage all of Python's memory 
! allocation. While this works fine (modulo the socket regression test 
! failing in the absence of a socket.pyc), it is a significant performance 
! hit - the time to run the regression test blows out from ~3.5 minutes to 
! ~5.75 minutes on my system.
! 
! I therefore don't plan to pursue this any further for the time being.
! 
! Be aware that certain types of expressions could well bring your system 
! to its knees as a result of this issue. I have modified the longexp test 
! to report failure to highlight this.
 
 2. Eberhard Mattes, author of EMX, writes in his documentation that fork() 
--- 289,293 ----
 I know about a number of nasties in this port.
 
! {1. Issue resolved...}
 
 2. Eberhard Mattes, author of EMX, writes in his documentation that fork() 
***************
*** 529,532 ****
--- 500,520 ----
 [2001年12月08日] - 2.2 Final
 
+ [2002年03月31日] - 2.2.1 Release Candidate 2
+ 
+ [2002年04月14日] - 2.2.1 Final
+ 
+ [2002年8月18日]
+ 
+ 26. now explicitly set the number of file handles available to a 
+ Python process to 250. EMX default is 40, which is insufficient for the 
+ recently checked in security improvments to the tempfile regression 
+ test (test_tempfile) which tries to create 100 temporary files.
+ 
+ This setting can be overridden via the EMXOPT environment variable:
+ set EMXOPT=-h250
+ is equivalent to the setting currently used. The emxbind utility (if you 
+ have it installed) can also be used to permanently change the setting in 
+ python.exe - please refer to the EMX documentation for more information.
+ 
 ... probably other issues that I've not encountered, or don't remember :-(
 
***************
*** 568,570 ****
 Web: http://www.andymac.org/
 
! 24 December, 2001.
--- 556,558 ----
 Web: http://www.andymac.org/
 
! 18 August, 2001.

AltStyle によって変換されたページ (->オリジナル) /