I first ran into these back in the '80s, when I was doing some consulting work for a company that was using microphones listening to rotating machinery to monitor for impending failures. The most success they had was with ball bearings, where some (relatively) simple fast Fourier transforms could be used successfully. Even the slow computers of the day could do this math in near real time. The company wanted to do some more sophisticated things (which is where the Chladni patterns came in) that involved math that they just couldn't make fast enough.
They hired me to optimize those calculations by using assembly language and every hacky trick I could come up with. They needed to speed up their calculations by a factor of about 1,200, but the best I could do was about 200 – still six times too slow. I could only get that large speedup because the program they started with was written by scientists who basically had no idea how computers worked :) They chose a terrible language (FORTRAN) for such a project, then compounded the error by writing terrible code. It was great fun for me, because they were completely blown away by (a) how fast my code was, and (b) how small my code was – the assembly-language program I wrote was half the lines of their (horrible) FORTRAN code. Also fun: they paid me on time, with a check that cleared...
Post a Comment