| 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 |  | 
| Tim Peters | 2a799bf | 2002-12-16 20:18:38 +0000 | [diff] [blame] | 8 | This document is to allocate base addresses to core Python | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 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 |  | 
| Mark Hammond | c2d272a | 2001-09-06 06:42:00 +0000 | [diff] [blame] | 14 | Python.exe/Pythonw.exe     - 1d000000 - 1e000000 (-1) | 
 | 15 | Python.dll                 - 1e000000 - 1e100000 (-1) | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 16 |  | 
| Mark Hammond | c2d272a | 2001-09-06 06:42:00 +0000 | [diff] [blame] | 17 | Standard Extension Modules 1e100000 - 1e200000  "" | 
| Tim Peters | 7174580 | 2004-01-04 03:00:51 +0000 | [diff] [blame] | 18 |  - _symtable                 1e100000 - 1e110000    pyd removed in 2.4 | 
| Amaury Forgeot d'Arc | f7bfcfb | 2008-09-09 06:42:00 +0000 | [diff] [blame] | 19 |  - bsddb                     1e180000 - 1e188000    pyd removed in 3.0 | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 20 |  - _tkinter                  1e190000 - 1e1A0000 | 
| Tim Peters | 7174580 | 2004-01-04 03:00:51 +0000 | [diff] [blame] | 21 |  - parser                    1e1A0000 - 1e1B0000    pyd removed in 2.4 | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 22 |  - zlib                      1e1B0000 - 1e1C0000 | 
| Tim Peters | 7174580 | 2004-01-04 03:00:51 +0000 | [diff] [blame] | 23 |  - winreg                    1e1C0000 - 1e1D0000    pyd removed in 2.4 | 
| Guido van Rossum | a8ee4c3 | 2000-04-21 21:26:43 +0000 | [diff] [blame] | 24 |  - _socket                   1e1D0000 - 1e1E0000 | 
| Tim Peters | 7174580 | 2004-01-04 03:00:51 +0000 | [diff] [blame] | 25 |  - _sre                      1e1E0000 - 1e1F0000    pyd removed in 2.4 | 
 | 26 |  - mmap                      1e1F0000 - 1e1FFFFF    pyd removed in 2.4 | 
| Guido van Rossum | a8ee4c3 | 2000-04-21 21:26:43 +0000 | [diff] [blame] | 27 |  | 
 | 28 | More standard extensions 1D100000 - 1e000000 | 
 | 29 |  - pyexpat                   1D100000 - 1D110000 | 
 | 30 |  - select                    1D110000 - 1D120000 | 
| Mark Hammond | c2d272a | 2001-09-06 06:42:00 +0000 | [diff] [blame] | 31 |  - unicodedata               1D120000 - 1D160000 | 
 | 32 |  - winsound                  1D160000 - 1D170000 | 
| Tim Peters | b0ead4e | 2002-11-09 04:48:58 +0000 | [diff] [blame] | 33 |  - bZ2                       1D170000 - 1D180000 | 
| Tim Peters | 7174580 | 2004-01-04 03:00:51 +0000 | [diff] [blame] | 34 |  - datetime                  1D180000 - 1D190000    pyd removed in 2.4 | 
 | 35 |  - _csv                      1D190000 - 1D1A0000    pyd removed in 2.4 | 
| Thomas Wouters | 49fd7fa | 2006-04-21 10:40:58 +0000 | [diff] [blame] | 36 |  - _ctypes                   1D1A0000 - 1D1B0000 | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 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 | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 44 |  - win32pipe                 1e260000 - 1e270000 | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 45 |  - avl                       1e270000 - 1e270000 | 
 | 46 |  - dbhash                    1e280000 - 1e290000 | 
 | 47 |  - win32net                  1e290000 - 1e2A0000 | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 48 |  - win32security             1e2A0000 - 1e2B0000 | 
 | 49 |  - win32print                1e2B0000 - 1e2c0000 | 
| Mark Hammond | c2d272a | 2001-09-06 06:42:00 +0000 | [diff] [blame] | 50 |  - <unused>                  1e2d0000 - 1e2e0000 | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 51 |  - win32gui                  1e2e0000 - 1e2f0000 | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 52 |  - _imaging                  1e2f0000 - 1e300000 | 
 | 53 |  - multiarray                1e300000 - 1e310000 | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 54 |  - win32help                 1e310000 - 1e320000 | 
 | 55 |  - win32clipboard            1e320000 - 1e330000 | 
| Mark Hammond | c2d272a | 2001-09-06 06:42:00 +0000 | [diff] [blame] | 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 | 
| Guido van Rossum | cbc6676 | 1996-08-23 15:48:14 +0000 | [diff] [blame] | 76 |  | 
| Guido van Rossum | 9f3712c | 2000-03-28 20:37:15 +0000 | [diff] [blame] | 77 |  |