blob: 93a15d12bf8462c50da6b6db96dcd014196a602b [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
Tim Peters2a799bf2002-12-16 20:18:38 +00008This document is to allocate base addresses to core Python
Guido van Rossumcbc66761996-08-23 15:48:14 +00009and 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 ""
Tim Peters71745802004-01-04 03:00:51 +000018 - _symtable 1e100000 - 1e110000 pyd removed in 2.4
Amaury Forgeot d'Arcf7bfcfb2008-09-09 06:42:00 +000019 - bsddb 1e180000 - 1e188000 pyd removed in 3.0
Guido van Rossumcbc66761996-08-23 15:48:14 +000020 - _tkinter 1e190000 - 1e1A0000
Tim Peters71745802004-01-04 03:00:51 +000021 - parser 1e1A0000 - 1e1B0000 pyd removed in 2.4
Guido van Rossum9f3712c2000-03-28 20:37:15 +000022 - zlib 1e1B0000 - 1e1C0000
Tim Peters71745802004-01-04 03:00:51 +000023 - winreg 1e1C0000 - 1e1D0000 pyd removed in 2.4
Guido van Rossuma8ee4c32000-04-21 21:26:43 +000024 - _socket 1e1D0000 - 1e1E0000
Tim Peters71745802004-01-04 03:00:51 +000025 - _sre 1e1E0000 - 1e1F0000 pyd removed in 2.4
26 - mmap 1e1F0000 - 1e1FFFFF pyd removed in 2.4
Guido van Rossuma8ee4c32000-04-21 21:26:43 +000027
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
Tim Petersb0ead4e2002-11-09 04:48:58 +000033 - bZ2 1D170000 - 1D180000
Tim Peters71745802004-01-04 03:00:51 +000034 - datetime 1D180000 - 1D190000 pyd removed in 2.4
35 - _csv 1D190000 - 1D1A0000 pyd removed in 2.4
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000036 - _ctypes 1D1A0000 - 1D1B0000
Guido van Rossumcbc66761996-08-23 15:48:14 +000037
38Other extension modules
39 - win32api 1e200000 - 1e220000
40 - win32ras 1e220000 - 1e230000
41 - win32lz 1e230000 - 1e240000
42 - timer 1e240000 - 1e250000
43 - mmapfile 1e250000 - 1e260000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000044 - win32pipe 1e260000 - 1e270000
Guido van Rossumcbc66761996-08-23 15:48:14 +000045 - avl 1e270000 - 1e270000
46 - dbhash 1e280000 - 1e290000
47 - win32net 1e290000 - 1e2A0000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000048 - win32security 1e2A0000 - 1e2B0000
49 - win32print 1e2B0000 - 1e2c0000
Mark Hammondc2d272a2001-09-06 06:42:00 +000050 - <unused> 1e2d0000 - 1e2e0000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000051 - win32gui 1e2e0000 - 1e2f0000
Guido van Rossumcbc66761996-08-23 15:48:14 +000052 - _imaging 1e2f0000 - 1e300000
53 - multiarray 1e300000 - 1e310000
Guido van Rossum9f3712c2000-03-28 20:37:15 +000054 - win32help 1e310000 - 1e320000
55 - win32clipboard 1e320000 - 1e330000
Mark Hammondc2d272a2001-09-06 06:42:00 +000056 - 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
Guido van Rossumcbc66761996-08-23 15:48:14 +000076
Guido van Rossum9f3712c2000-03-28 20:37:15 +000077