Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cs.yale.edu!spolsky-joel From: spolsky-joel@cs.yale.edu (Joel Spolsky) Newsgroups: comp.windows.ms.programmer Subject: Re: Add-ons Message-ID: <27097@cs.yale.edu> Date: 6 Nov 90 21:16:21 GMT References: <90309.111451NIBMSCM@NDSUVM1.BITNET> <27085@cs.yale.edu> <1990Nov6.180958.17256@world.std.com> Sender: news@cs.yale.edu Organization: Yale University Computer Science Dept., New Haven, CT 06520-2158 Lines: 19 Nntp-Posting-Host: zoo-gw.cs.yale.edu Originator: spolsky@suned.CS.Yale.Edu In article <1990Nov6.180958.17256@world.std.com> goodearl@world.std.com (Robert Goodearl) writes: [ about MSC Library Source ] >I think the sources would be very useful if you needed to better understand >the behavior of a library routine, or to make romable code. In fact, reading over some of the assembler code on those disks, I was truly impressed by what hoops MS jumps through to squeeze more speed out of their libraries. For example, string/memory copy functions use the Intel memmov (REP MOV) instruction, but they also make sure to word align for improved performance -- these libraries contain an impressive amount of micro optimization, enough to scare me out of every wanting to "roll my own". But prepackaged libraries are not always the fastest, I once looked at the code in the MPW (Apple Macintosh) C libraries and was unimpressed; I wrote a strcpy which outperformed their library version. Joel Spolsky spolsky@cs.yale.edu Silence = Death