On 10/06/2017 02:54 PM, emanuel stiebler via cctalk wrote: > I completely agree with you. (I probably should have put some smileys > in there somewhere). I do most of my work in embedded, and still > counting bytes, and searching for a better algorithms ...
Algorithms, as I learned later in life, are only as effective as the hardware they're implemented on. The case in point was, in fact, sorting. The hardware was the CDC STAR-100 vector machine. Big, fast, with 512-bit wide memory bus and multiple pipelined units. Virtual memory, big register file. The problem was that scalars were implemented as vectors of length 1--i.e. they cranked up the massive vector hardware only to spit out a single result. Something fit for a cartoon film. The latency was horrible. One upshot of this was that if you could do anything in vector mode, you did it. To that end, for relatively large N < 1000, a simple selection sort was the fastest that could be implemented. This went counter to everything we thought we already knew. Eventually, a scalar unit was added to the hardware, much to the relief of many programmers. --Chuck