Shared vs static link performance hit --and Windows?

Andrew MacIntyre andymac at bullseye.apana.org.au
Wed Jul 9 07:20:00 EDT 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 mailing list