[email protected] (Richard Pinion) writes: > Don't use zoned decimal for subscripts or counters, rather use indexes > for subscripts and binary for counter type variables. And when using > conditional branching, try to code so as to make the branch the > exception rather than the rule. For large table lookups, use a binary > search as opposed to a sequential search. > > These simple coding techniques can also reduce CPU time.
in late 70s we would have friday nights after work ... and discuss a number of things ... along the lines of what came up in tandem memos ... aka I was blamed for online computer conferencing on the internal network (larger than arpanet/internet from just about the beginning until sometime mid-80s) in the late 70s and early 80. folklore is that when the corporate executive committee were told about online computer conferencing (and the internal network), 5of6 wanted to fire me. from IBMJARGON: [Tandem Memos] n. Something constructive but hard to control; a fresh of breath air (sic). "That's another Tandem Memos." A phrase to worry middle management. It refers to the computer-based conference (widely distributed in 1981) in which many technical personnel expressed dissatisfaction with the tools available to them at that time, and also constructively criticized the way products were [are] developed. The memos are required reading for anyone with a serious interest in quality products. If you have not seen the memos, try reading the November 1981 Datamation summary. ... snip ... one of the issues was that the majority of the people inside the company didn't actually use computers ... and we thot things would be be improved if the people in the company actually had personal experience using computers, especially managers and executives. So we eventually came up with the idea of online telephone books ... of (nearly) everybody in the corporation ... especially if lookup elapsed time was less than look up of paper telephone book. avg binary search of 256k is 18 ... aka 2*18. Also important was there were nearly 64 entries in physical block ... so binary search to the correct physical block is 12 reads (i.e. 64 is 2**6, 18-6=12). However, it is fairly easy to calculate the name letter frequency ... so instead of doing binary search, do radix search (based on letter frequency) and can get within the correct physical block within 1-3 physical reads (instead of 12). We also got fancy doing first two letter frequency and partially adjusting 2nd probe, based on how accurate the first probe was. In any case, binary search for totally unknown distribution characteristics. So one friday night, we established the criteria, to design, implement, test and deploy the lookup program had to take less than a person week of effort ... and less than another person week to design, implement, test and deploy the process for collecting, formating and distributing the online telephone books. trivia ... long ago and far away ... a couple people I had worked with at Oracle (when I was at IBM and working on cluster scaleup for HA/CMP), had left and were at small client/server responsible for something called commerce server. After cluster scaleup was transferred, announced as IBM supercomputer, and we were told we couldn't work on anything with more than four processors ... we decide to leave. We are then brought in as consultants at this small client/server startup because they want to do payment transactions on the server, the startup had also invented this technology called SSL they want to use, the result is now frequently called "electronic commerce". TCP/IP protocol has session termination process that includes something called FINWAIT list. At the time, session termination was relative infrequent process and common TCP/IP implementations used a sequential search of the FINWAIT list (assuming that there would be few or none entries on the list). HTTP (& HTTPS) implementation chose to use TCP ... even tho it is a datagram protocol rather than a session protocol. There was period in the early/mid 90s as web use was scaling up where webservers saturated spending 90-95% of cpu time doing FINWAIT list searches .... before the various implementations were upgraded to do significantly more efficient management of FINWAIT (session termination) process. -- virtualization experience starting Jan1968, online at home since Mar1970 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
