08-16-2004, 06:57 AM
In two separate situations I've had to directly compare a higher-level compiled algorithm with a highly optimized asm one to do the same thing... in both cases, I found the asm to execute in about 1/10 the time.
Case 1: Sprite Writing in Empyrean. Framerate jumped from ~55 to over 650 when I implemented Rel's asm sprite routine instead of the one I wrote in Turbo Pascal.
Case 2: Connect 4 Heuristic Board Analysis. Move time dropped from well over two minutes to 12 seconds. Granted, this case was the H8/300, and the gcc cross compiler from hitachi probably had NOTHING in the way of optimization.
Anyhow, asm is a real unique challenge, but it was SO rewarding to get the Connect4 thing working and to see such a dramatic improvement. Well worth it.
Case 1: Sprite Writing in Empyrean. Framerate jumped from ~55 to over 650 when I implemented Rel's asm sprite routine instead of the one I wrote in Turbo Pascal.
Case 2: Connect 4 Heuristic Board Analysis. Move time dropped from well over two minutes to 12 seconds. Granted, this case was the H8/300, and the gcc cross compiler from hitachi probably had NOTHING in the way of optimization.
Anyhow, asm is a real unique challenge, but it was SO rewarding to get the Connect4 thing working and to see such a dramatic improvement. Well worth it.