Shared vs static link performance hit --and Windows?
andymac at bullseye.apana.org.au
Wed Jul 9 13:20:00 CEST 2003
On Wed, 9 Jul 2003, Martin v. [iso-8859-15] Löwis wrote:
> Andrew MacIntyre <andymac at bullseye.apana.org.au> writes:
> > AFAIK, Windows & OS/2 don't really use the concept of PIC code for DLLs,
> > as the DLLs get mapped into system address space rather than user address
> > space, and all processes that access DLL code access the code at the same
> > address.
> Wrong, atleast for Win32. In Win32, there is no "system address
> space"; each process has its separate address space.
Thanks for correcting my misconception; my Win32 development experience is
limited and skewed away from developing DLLs, so I haven't paid close
attention to the fine detail.
The important distinction between Win32+OS/2 and Unix is that the dynamic
linkage uses relocation fixup records to relocate Windows (& OS/2) DLLs,
whereas the dynamic linkage on Unix does not support the relocation action
for shared objects - hence the use of PIC on Unix.
Andrew I MacIntyre "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au (pref) | Snail: PO Box 370
andymac at pcug.org.au (alt) | Belconnen ACT 2616
Web: http://www.andymac.org/ | Australia
More information about the Python-list