blob: 8ba546f2bc7ebbad28e7e36f0deea1a8b6f4c0b2 [file] [log] [blame]
Guido van Rossumcbc66761996-08-23 15:48:14 +00001In Win32, DLL's are "pre-linked" using a specified base address.
2When the DLL is loaded, an attempt is made to place it at
3that address. If that address is already in use, a new base address
4is selected, and the DLL subject to fixups. Apparently, these
5fixups are very slow, and significant performance gains can be
6made by selecting a good base address.
7
8This document is to allocate base addresses to core Python
9and Python .PYD files, to give a better change of optimal performance.
10This base address is passed to the linker using the /BASE
11command line switch.
12
13
Mark Hammondc2d272a2001-09-06 06:42:00 +000014Python.exe/Pythonw.exe - 1d000000 - 1e000000 (-1)
15Python.dll - 1e000000 - 1e100000 (-1)
Guido van Rossumcbc66761996-08-23 15:48:14 +000016
Mark Hammondc2d272a2001-09-06 06:42:00 +000017Standard Extension Modules 1e100000 - 1e200000 ""
18 - _symtable 1e100000 - 1e110000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000019 - bsddb 1e180000 - 1e188000 ""
Guido van Rossumcbc66761996-08-23 15:48:14 +000020 - _tkinter 1e190000 - 1e1A0000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000021 - parser 1e1A0000 - 1e1B0000
22 - zlib 1e1B0000 - 1e1C0000
23 - winreg 1e1C0000 - 1e1D0000
Guido van Rossuma8ee4c32000-04-21 21:26:43 +000024 - _socket 1e1D0000 - 1e1E0000
25 - _sre 1e1E0000 - 1e1F0000
26 - mmap 1e1F0000 - 1e1FFFFF
27
28More standard extensions 1D100000 - 1e000000
29 - pyexpat 1D100000 - 1D110000
30 - select 1D110000 - 1D120000
Mark Hammondc2d272a2001-09-06 06:42:00 +000031 - unicodedata 1D120000 - 1D160000
32 - winsound 1D160000 - 1D170000
Guido van Rossumcbc66761996-08-23 15:48:14 +000033
34Other extension modules
35 - win32api 1e200000 - 1e220000
36 - win32ras 1e220000 - 1e230000
37 - win32lz 1e230000 - 1e240000
38 - timer 1e240000 - 1e250000
39 - mmapfile 1e250000 - 1e260000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000040 - win32pipe 1e260000 - 1e270000
Guido van Rossumcbc66761996-08-23 15:48:14 +000041 - avl 1e270000 - 1e270000
42 - dbhash 1e280000 - 1e290000
43 - win32net 1e290000 - 1e2A0000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000044 - win32security 1e2A0000 - 1e2B0000
45 - win32print 1e2B0000 - 1e2c0000
Mark Hammondc2d272a2001-09-06 06:42:00 +000046 - <unused> 1e2d0000 - 1e2e0000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000047 - win32gui 1e2e0000 - 1e2f0000
Guido van Rossumcbc66761996-08-23 15:48:14 +000048 - _imaging 1e2f0000 - 1e300000
49 - multiarray 1e300000 - 1e310000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000050 - win32help 1e310000 - 1e320000
51 - win32clipboard 1e320000 - 1e330000
Mark Hammondc2d272a2001-09-06 06:42:00 +000052 - win2kras 1e330000 - 1e340000
53 - pythoncom 1e340000 - 1e400000
54 - win32ui 1e400000 - 1e500000
55 - win32uiole 1e500000 - 1e600000
56 - pywintypes 1e600000 - 1e700000
57 - win32process 1e700000 - 1e800000
58 - odbc 1e710000 - 1e720000
59 - dbi 1e720000 - 1e730000
60 - win32file 1e730000 - 1e740000
61 - win32wnet 1e740000 - 1e750000
62 - win32com.shell 1e750000 - 1e760000
63 - win32com.internet 1e760000 - 1e770000
64 - win32com.exchange 1e770000 - 1e780000
65 - win32com.exchdapi 1e780000 - 1e790000
66 - win32com.axscript 1e790000 - 1e7a0000
67 - win32com.axdebug 1e7b0000 - 1e7c0000
68 - win32com.adsi 1e7f0000 - 1e800000
69 - win32event 1e810000 - 1e820000
70 - win32evtlog 1e820000 - 1e830000
71 - win32com.axcontrol 1e830000 - 1e840000
Guido van Rossumcbc66761996-08-23 15:48:14 +000072
Guido van Rossum9f3712c2000-03-28 20:37:15 +000073