msg21725 - (view) |
Author: Bill Bumgarner (bbum) |
Date: 2004-07-21 06:19 |
When building Python (and disutils based extensions) on Mac OS X, Python should ensure that the -single_module flag is being passed to the linker. This will ensure that any given .so, .dylib, or framework is linked as a single module. This will vastly reduce the startup times of python, reduce the load times of modules, and shave a bit of a performance hit off the top at runtime. This should also be applicable to the modules built by distutils. |
|
|
msg21726 - (view) |
Author: Bob Ippolito (bob.ippolito) *  |
Date: 2004-07-21 06:29 |
Logged In: YES user_id=139309 [I'm closing 995023, because bbum filed first] distutils extensions can not use -single_module because they are bundles, not dylibs. Frameworks and dylibs are synonymous, of course. |
|
|
msg21727 - (view) |
Author: Bill Bumgarner (bbum) |
Date: 2004-07-21 06:35 |
Logged In: YES user_id=103811 This is not applicable to the distutils modules as they are built now; only applicable to Python.framework (and like builds). |
|
|
msg21728 - (view) |
Author: Sjoerd Mullender (sjoerd) *  |
Date: 2004-07-21 06:57 |
Logged In: YES user_id=43607 Is this related to bug 799088? |
|
|
msg21729 - (view) |
Author: Bob Ippolito (bob.ippolito) *  |
Date: 2004-07-21 08:25 |
Logged In: YES user_id=139309 Not in the least. |
|
|
msg21730 - (view) |
Author: Jack Jansen (jackjansen) *  |
Date: 2004-07-21 09:21 |
Logged In: YES user_id=45365 Could either of you come up with a patch? Also, how would I measure any improvement, "time python -c pass" or are there other things that are influenced as well? |
|
|
msg21731 - (view) |
Author: Bob Ippolito (bob.ippolito) *  |
Date: 2004-07-21 09:50 |
Logged In: YES user_id=139309 time python -c pass is probably sufficient.. I guess the patch is to line 114 of Makefile.pre.in.. should change from: OTHER_LIBTOOL_OPT = -prebind -seg1addr 0x10000000 to OTHER_LIBTOOL_OPT = -prebind -seg1addr 0xCFC00000 -single_module Note I picked an arbitrary, probably unused, seg1addr. 0x10000000 is *NOT* correct! It's in the Application Address Range!!!! See: http://developer.apple.com/documentation/Performance/Conceptual/ LaunchTime/index.html |
|
|
msg21732 - (view) |
Author: Jack Jansen (jackjansen) *  |
Date: 2004-07-22 21:09 |
Logged In: YES user_id=45365 Am I doing something wrong? I see absolutely no difference in runtime with this option: I get 0.15 seconds realtime (0.08 user time, system time variable) both with the new OTHER_LIBTOOL_OPT and without it. (This is on a 933Mhz G4 iBook running 10.3.4). I've been trying this with 2.4a1+. What sort of speedups are you guys seeing? |
|
|
msg21733 - (view) |
Author: Ronald Oussoren (ronaldoussoren) *  |
Date: 2006-06-25 21:23 |
Logged In: YES user_id=580910 Is this still relevant? |
|
|
msg66152 - (view) |
Author: Ronald Oussoren (ronaldoussoren) *  |
Date: 2008-05-03 09:36 |
Closing as this doesn't seem really useful anyway and nobody responded to my question if the issue is still relevant. |
|
|