|
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 Python.exe/Pythonw.exe - 1d000000 - 1e000000 (-1) |
|
15 Python.dll - 1e000000 - 1e100000 (-1) |
|
16 |
|
17 Standard Extension Modules 1e100000 - 1e200000 "" |
|
18 - _symtable 1e100000 - 1e110000 pyd removed in 2.4 |
|
19 - bsddb 1e180000 - 1e188000 |
|
20 - _tkinter 1e190000 - 1e1A0000 |
|
21 - parser 1e1A0000 - 1e1B0000 pyd removed in 2.4 |
|
22 - zlib 1e1B0000 - 1e1C0000 |
|
23 - winreg 1e1C0000 - 1e1D0000 pyd removed in 2.4 |
|
24 - _socket 1e1D0000 - 1e1E0000 |
|
25 - _sre 1e1E0000 - 1e1F0000 pyd removed in 2.4 |
|
26 - mmap 1e1F0000 - 1e1FFFFF pyd removed in 2.4 |
|
27 |
|
28 More standard extensions 1D100000 - 1e000000 |
|
29 - pyexpat 1D100000 - 1D110000 |
|
30 - select 1D110000 - 1D120000 |
|
31 - unicodedata 1D120000 - 1D160000 |
|
32 - winsound 1D160000 - 1D170000 |
|
33 - bZ2 1D170000 - 1D180000 |
|
34 - datetime 1D180000 - 1D190000 pyd removed in 2.4 |
|
35 - _csv 1D190000 - 1D1A0000 pyd removed in 2.4 |
|
36 - _ctypes 1D1A0000 - 1D1B0000 |
|
37 |
|
38 Other extension modules |
|
39 - win32api 1e200000 - 1e220000 |
|
40 - win32ras 1e220000 - 1e230000 |
|
41 - win32lz 1e230000 - 1e240000 |
|
42 - timer 1e240000 - 1e250000 |
|
43 - mmapfile 1e250000 - 1e260000 |
|
44 - win32pipe 1e260000 - 1e270000 |
|
45 - avl 1e270000 - 1e270000 |
|
46 - dbhash 1e280000 - 1e290000 |
|
47 - win32net 1e290000 - 1e2A0000 |
|
48 - win32security 1e2A0000 - 1e2B0000 |
|
49 - win32print 1e2B0000 - 1e2c0000 |
|
50 - <unused> 1e2d0000 - 1e2e0000 |
|
51 - win32gui 1e2e0000 - 1e2f0000 |
|
52 - _imaging 1e2f0000 - 1e300000 |
|
53 - multiarray 1e300000 - 1e310000 |
|
54 - win32help 1e310000 - 1e320000 |
|
55 - win32clipboard 1e320000 - 1e330000 |
|
56 - win2kras 1e330000 - 1e340000 |
|
57 - pythoncom 1e340000 - 1e400000 |
|
58 - win32ui 1e400000 - 1e500000 |
|
59 - win32uiole 1e500000 - 1e600000 |
|
60 - pywintypes 1e600000 - 1e700000 |
|
61 - win32process 1e700000 - 1e800000 |
|
62 - odbc 1e710000 - 1e720000 |
|
63 - dbi 1e720000 - 1e730000 |
|
64 - win32file 1e730000 - 1e740000 |
|
65 - win32wnet 1e740000 - 1e750000 |
|
66 - win32com.shell 1e750000 - 1e760000 |
|
67 - win32com.internet 1e760000 - 1e770000 |
|
68 - win32com.exchange 1e770000 - 1e780000 |
|
69 - win32com.exchdapi 1e780000 - 1e790000 |
|
70 - win32com.axscript 1e790000 - 1e7a0000 |
|
71 - win32com.axdebug 1e7b0000 - 1e7c0000 |
|
72 - win32com.adsi 1e7f0000 - 1e800000 |
|
73 - win32event 1e810000 - 1e820000 |
|
74 - win32evtlog 1e820000 - 1e830000 |
|
75 - win32com.axcontrol 1e830000 - 1e840000 |
|
76 |
|
77 |