Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 1 | In Win32, DLL's are "pre-linked" using a specified base address. |
| 2 | When the DLL is loaded, an attempt is made to place it at |
| 3 | that address. If that address is already in use, a new base address |
| 4 | is selected, and the DLL subject to fixups. Apparently, these |
| 5 | fixups are very slow, and significant performance gains can be |
| 6 | made by selecting a good base address. |
| 7 | |
| 8 | This document is to allocate base addresses to core Python |
| 9 | and Python .PYD files, to give a better change of optimal performance. |
| 10 | This base address is passed to the linker using the /BASE |
| 11 | command line switch. |
| 12 | |
| 13 | |
| 14 | |
| 15 | Python.dll - 1e100000 - 1e180000 |
| 16 | Standard Extension Modules - 1e180000 - 1e200000 |
| 17 | - socket 1e180000 - 1e188000 |
| 18 | - _tkinter 1e190000 - 1e1A0000 |
| 19 | |
| 20 | Other extension modules |
| 21 | - win32api 1e200000 - 1e220000 |
| 22 | - win32ras 1e220000 - 1e230000 |
| 23 | - win32lz 1e230000 - 1e240000 |
| 24 | - timer 1e240000 - 1e250000 |
| 25 | - mmapfile 1e250000 - 1e260000 |
| 26 | - avl 1e270000 - 1e270000 |
| 27 | - dbhash 1e280000 - 1e290000 |
| 28 | - win32net 1e290000 - 1e2A0000 |
| 29 | - oleauto 1e2A0000 - 1e2B0000 |
| 30 | - oleautsv 1e2B0000 - 1e2c0000 |
| 31 | - nspi 1e2d0000 - 1e2e0000 |
| 32 | - npipw.dll 1e2e0000 - 1e2f0000 |
| 33 | - _imaging 1e2f0000 - 1e300000 |
| 34 | - multiarray 1e300000 - 1e310000 |
| 35 | - bsddb 1e320000 - 1e330000 |
| 36 | |
| 37 | PythonWin |
| 38 | win32ui 1e400000 - 1e500000 |