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.
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
15 Python.dll - 1e100000 - 1e180000 (-1)
16 Standard Extension Modules 1e180000 - 1e200000 ""
17 - bsddb 1e180000 - 1e188000 ""
18 - _tkinter 1e190000 - 1e1A0000
19 - parser 1e1A0000 - 1e1B0000
20 - zlib 1e1B0000 - 1e1C0000
21 - winreg 1e1C0000 - 1e1D0000
22 - _socket 1e1D0000 - 1e1E0000
23 - _sre 1e1E0000 - 1e1F0000
24 - mmap 1e1F0000 - 1e1FFFFF
26 More standard extensions 1D100000 - 1e000000
27 - pyexpat 1D100000 - 1D110000
28 - select 1D110000 - 1D120000
29 - unicodedata 1D120000 - 1D130000
30 - winsound 1D130000 - 1D140000
32 Other extension modules
33 - win32api 1e200000 - 1e220000
34 - win32ras 1e220000 - 1e230000
35 - win32lz 1e230000 - 1e240000
36 - timer 1e240000 - 1e250000
37 - mmapfile 1e250000 - 1e260000
38 - win32pipe 1e260000 - 1e270000
39 - avl 1e270000 - 1e270000
40 - dbhash 1e280000 - 1e290000
41 - win32net 1e290000 - 1e2A0000
42 - win32security 1e2A0000 - 1e2B0000
43 - win32print 1e2B0000 - 1e2c0000
44 - <nspi is dead too??> 1e2d0000 - 1e2e0000
45 - win32gui 1e2e0000 - 1e2f0000
46 - _imaging 1e2f0000 - 1e300000
47 - multiarray 1e300000 - 1e310000
48 - win32help 1e310000 - 1e320000
49 - win32clipboard 1e320000 - 1e330000
52 win32ui 1e400000 - 1e500000