summaryrefslogtreecommitdiffstats
path: root/PC/dllbase_nt.txt
blob: 776d1c1f8157055409987484255fb406c97fb1a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
In Win32, DLL's are "pre-linked" using a specified base address.
When the DLL is loaded, an attempt is made to place it at
that address.  If that address is already in use, a new base address
is selected, and the DLL subject to fixups.  Apparently, these
fixups are very slow, and significant performance gains can be
made by selecting a good base address.

This document is to allocate base addresses to core Python 
and Python .PYD files, to give a better change of optimal performance.
This base address is passed to the linker using the /BASE
command line switch.



Python.dll                 - 1e100000 - 1e180000
Standard Extension Modules - 1e180000 - 1e200000
 - socket                    1e180000 - 1e188000
 - _tkinter                  1e190000 - 1e1A0000

Other extension modules
 - win32api                  1e200000 - 1e220000
 - win32ras                  1e220000 - 1e230000
 - win32lz                   1e230000 - 1e240000
 - timer                     1e240000 - 1e250000
 - mmapfile                  1e250000 - 1e260000
 - avl                       1e270000 - 1e270000
 - dbhash                    1e280000 - 1e290000
 - win32net                  1e290000 - 1e2A0000
 - oleauto                   1e2A0000 - 1e2B0000
 - oleautsv                  1e2B0000 - 1e2c0000
 - nspi                      1e2d0000 - 1e2e0000
 - npipw.dll                 1e2e0000 - 1e2f0000
 - _imaging                  1e2f0000 - 1e300000
 - multiarray                1e300000 - 1e310000
 - bsddb                     1e320000 - 1e330000

PythonWin
 win32ui                     1e400000 - 1e500000