Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!wuarchive!emory!hubcap!think!barmar From: think!barmar@think.com (Barry Margolin) Newsgroups: comp.parallel Subject: Re: How much are you willing sacrifice. Message-ID: <12971@hubcap.clemson.edu> Date: 6 Feb 91 20:35:42 GMT References: <12935@hubcap.clemson.edu> Sender: fpst@hubcap.clemson.edu Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 38 Approved: parallel@hubcap.clemson.edu In article <12935@hubcap.clemson.edu> "PBACAD::M_PAPRZYCKI"@UTPB.PB.UTEXAS.EDU writes: >In one of the recently received messages I found he following passage: > The first point I would make is that `efficiency' is very much less > important to me than coding clarity. I am quite prepared to sacrifice > half my CPU time if it makes the code easier to maintain. ... >"I could have run your program in 3 hours, but I wanted your program >to look beautifully, so it requires 6 hours." >Summary: > One should be very cautious in deciding what one wants to > sacrifice. How about: "I could have run your program in 3 hours, but it would have taken me an extra month of programming and debugging, and it would have added time to the development of future enhancements, so it requires 6 hours." Program clarity is not just an esthetic quality, it directly affects programmer productivity. Of course, in the supercomputer business, the location of the line between fast enough and too slow is different from the regular computer industry. However, even a supercomputer program merely has to be significantly faster than a comparable program on a conventional computer. So, if the program would have taken days to run on a conventional computer, the difference between 6 hours and 3 hours may not be significant. Squeezing every last microsecond is most often necessary when similar machines or programs are competing. For instance, it's important for us to have a faster FFT than our competitors, because potential customers can compare them head-to-head. But if we have a capability that our competitors lack, its precise speed isn't as important; customers will make decisions simply based on the usefulness of the feature. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar