Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!swrinde!ucsd!ucbvax!NIC.GAC.EDU!scott From: scott@NIC.GAC.EDU Newsgroups: comp.sys.next Subject: NeXT vs. Mac Message-ID: <9010201909.AA12905@mcs-server.gac.edu> Date: 20 Oct 90 19:09:08 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 30 aberno@questor.wimsey.bc.ca (Anthony Berno) writes: The only thing I don't get is why applications take so long to launch on the NeXT. Perhaps they are intrinsically bigger? This is because of the amount of run-time initialization required . . . which I have a question about. Would it be possible to initialize and then unload an app, like many lisps and emacs do, so that everything is pre-initialized? I realize this would cause problems with shared libraries and the like, but if there were some method of doing this on a per-application basis. I don't think we necessarily need to actually call the init methods of every class, but certain things probably could be pre-initialized. I just remembered something about 2.0. There's this method of linking called scatter-loading (I think). What you do is take profiling data, and use that to arrange the placement of functions within an executable. The idea is that mutually dependant functions are located within the same page, while unused functions (such as those for an Info Panel) go somewhere distant, like the end of the TEXT segment. I'm sure there's a way of moving all the initialization code to the front of the TEXT segment, so it gets loaded right away, calls a bunch of functions which are in close proximity to each other (reduces swapping), which means that app initializes faster. This might be why they claim a 2x increase in launch speed for many apps. scott hess scott@gac.edu Independent NeXT Developer (Stuart) NeXT Campus Consultant (Not much, really) GAC Undergrad (Horrid. Simply Horrid. I mean the work!)