Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!hao!oddjob!gargoyle!ihnp4!alberta!edm!steve From: steve@edm.UUCP (Stephen Samuel) Newsgroups: comp.arch,comp.os.misc Subject: Re: Shared libraries (Was: Re: Big Programs Hurt Performance) Message-ID: <196@edm.UUCP> Date: Tue, 20-Oct-87 07:42:10 EDT Article-I.D.: edm.196 Posted: Tue Oct 20 07:42:10 1987 Date-Received: Fri, 23-Oct-87 01:18:34 EDT References: <6886@eddie.MIT.EDU) <2501@xanth.UUCP> <2067@sfsup.UUCP> <1420@spar.SPAR.SLB.COM> Organization: Unexsys Systems Inc., Edmonton,AB. Lines: 36 Summary: an empirical view: It works! Xref: mnetor comp.arch:2682 comp.os.misc:308 In article <1420@spar.SPAR.SLB.COM>, hunt@spar.SPAR.SLB.COM (Neil Hunt) writes: > In article <439@root44.co.uk> aegl@root44.UUCP (Tony Luck) writes: > >>There is a technique [...] but this implies a > >>remarkable performance hit. > Now lets consider the performance when we don't have shared libraries, > and a function call hits a page fault: > > jsr 20 cycles > page fault interrupt 200 cycles > disc latency delay 300000 cycles > 50000 instructions to bring in the page 750000 cycles > 1000 instructions in OS restoring state 15000 cycles > movm > ... Under the Michigan Terminal System (MTS), about 6 meg of the user address space is dedicated to shared memory (incl. unreadable system tables and at LEAST 1-2 meg of shared routines). In some cases, some of the more popular programs have their shared text (almost) entirely in shared space. On a good day, the system can support 5-700 people before it gets into trouble (it runs on an amdahl 5880 [I think]). Another nice feature is that program files can be real small. A nice 'pr'-like program is well under 4K long. The APL Interpreter is a whole 8 bytes long (a pointer to the low core tables :-). With a nice, efficient loader, you can limit the cost of the linking to the actual loading. -- ------------- Stephen Samuel Disclaimer: You betcha! {ihnp4,ubc-vision,seismo!mnetor,vax135}!alberta!edm!steve BITNET: USERZXCV@UQV-MTS