Newsgroups: comp.sys.amiga.advocacy Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!mintaka!geech.gnu.ai.mit.edu!rjc From: rjc@geech.gnu.ai.mit.edu (Ray Cromwell) Subject: Re: Good programmers and assembly language (very long) Message-ID: <1991Apr12.182833.17825@mintaka.lcs.mit.edu> Sender: news@mintaka.lcs.mit.edu Organization: The Internet References: <2220@pdxgate.UUCP> <7227@harrier.ukc.ac.uk> <1991Apr12.123455.24220@zorch.SF-Bay.ORG> Date: Fri, 12 Apr 91 18:28:33 GMT Lines: 50 In article <1991Apr12.123455.24220@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes: >Not about to wade through Mike Rizzo's whole 435 article again at 1200 >baud to quote four lines, but the claim was made in an inclusion that >"the quicksort programmer would have less need than an assembly games >writer to make his program faster". > >This shows an incredible lack of knowledge of programming as a field of >endeavor. Some of the most valuable products, with the most invested >man-years, and at the highest prices (and profits) for sale in the >business data processing market place are sort packages, and they sell >based entirely on speed. This is easy to confirm; just go pick up the >latest copy of ComputerWorld, look for the full page sort package ads, >and note the prominent position and size of the histograms comparing >speed against the competitors' products. > >Why, you may ask, is speed so important in this field? Because 75% of >_all_ cpu cycles in business data processing are spent doing sorts. >Shave off 1/15th of the time needed to run the sort, and you've added >1/5th to the time available to do the rest of the job, and made the >hardware 1/5th more productive. > >Write a faster sort and the world will pave your pathway with cold, hard >cash. > >Kent, the man from xanth. > I agree with your post Kent, except for one important point. If Miranda was ported to the Amiga, the library functions would be written in very quick assembler. For instance, most C libraries for the Amiga have the QSort fnction written in optimized Asm. The only overhead is the C function call. Still, _algorithms_ are still far more important than minimal assembler optimizations. Check out the April issue of BYTE. Dave Quick (Amigan) made a minor improvement to the old bubblesort algorithm which makes it faster than a QSort! Also, there comes a time of diminishing returns where a 10% optimization in speed doesn't speed up the application much. A major overhead in databases is the file system uses, and how to store records in the best configuration possible to make lookup and searching fast. Shaving off a few cycles in a QSort won't bring cold hard cash to your door. Invent a totally new algorithm that no one thought of before and they might. (Besides, you could patent it and make everyone else license it. Although I don't like Software patents.) -- +-----------------------------------------------------------------------------+ | rjc@gnu.ai.mit.edu | // The opinions expressed here do not in any way | | uunet!tnc!m0023 | \X/ reflect the views of my self. | +-----------------------------------------------------------------------------+