home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!ods!david
- From: david@ods.com (David Engel)
- Subject: Re: shared libs
- Message-ID: <1992Aug13.183740.24742@ods.com>
- Organization: Optical Data Systems, Inc.
- X-Newsreader: Tin 1.1 PL5
- References: <1992Aug12.233349.21513@athena.mit.edu>
- Date: Thu, 13 Aug 1992 18:37:40 GMT
- Lines: 53
-
- Owner of this machine (pmacdona@tadpole.bcsc.gov.bc.ca) wrote:
- : At last count, I understood that jump tables do nothing to solve the
- : library data problem. Has that been solved? If so, just adding
- : jump table support to GCC, won't solve the problem.
-
- You're right, a jump table does nothing to solve the data problem.
- What I finally did was bite the bullet and change the library source
- (there really wasn't that many changes needed) so the relevant data
- could be linked at a known location every time. I also added padding
- to leave room for those things that might grow.
-
- : First, jump tables have a performance hit. And using them may
-
- Yes, there is a slight performance hit but it's not even noticable
- for most programs. One of these days, when I get the time and
- inclination, I'm going to do some more accurate benchmarking. The
- 2-4 % I measured a long time ago still seems a little high to me.
- Of course, nobody is forcing you to use the jump table libs. If you
- need that last bit of performance, you can always use the regular
- shared libs.
-
- : never work, since the change of one interface will screw the upgrade.
- : Worse, if an interface changes without us realizing it, then our
- : programs could just start acting strange (far worse than broken).
-
- Yes, an interface change could wreak havoc on the libraries. However,
- in developing version 1 of the jump table libs, I learned several
- techniques to handle such changes. Short of wholesale changes to
- the entire library, I think we can handle most changes and retain
- backward compatibility.
-
- As someone who has been using the jump table libs almost exclusively
- for four months now, I can atest that they are feasible and they do
- work.
-
- : The current implementation of shared libs has two main characteristics:
- : simple and reliable.
-
- Make that three: simple, reliable and a pain in the *ss when it comes
- to system maintenance. You either have to waste disk space by keeping
- multiple images of the same library lying around or you have to relink
- *everything* whenever library bugs are fixed.
-
- : Of course, I would love to be told I am wrong :-)
-
- Give them a try when H.J. releases 2.2.2d. You might be pleasantly
- surprised.
-
- David
- --
- David Engel Optical Data Systems, Inc.
- david@ods.com 1101 E. Arapaho Road
- (214) 234-6400 Richardson, TX 75081
-