Scott: > I do want to clarify on point on my email of yesterday. I never wished to > imply that Sunanda's initial code was "slow". I was unsure why Louis' run > took so long. I was trying to recreate the condition so that I could > compare, but I gave up after 4 hours because I assumed *I miscoded* > Sunanda's example, figuring that I had sent the code off into the weeds. > Gregg's response clearly indicated that I *had* done something wrong. Ten > thousand apologies to Sunanda. I should have been more careful in my > writing.
I don't have any problem with you calling my code slow. It is slow to run: ** It ran over three hours in Louis' machine. ** The final tuned version of my code on my machine is some 35 times slower than Scott and Joel's. (81.72 secs vs 2.3). ** A not quite final version took 33 minutes (25 times longer than Joel's on your machine) But I have several consolations. ** First, it was the code that was used live by Louis. So it solved the problem: everything else is fine-tuning and mopping up. ** Second, it produced the benchmark results set (verified by Louis) that other algorithms can be judged against. One of Jerry Weinberg's (showing my age here) aphorisms is that a program can be made as fast as you like provided it doesn't have to produce correct output. By checking the other results sets against the one from mine, we've been able to prove that the other algorithms are both fast and accurate. ** Third, participating in this exercise has given me some thumbnail guidelines for future tuning. They are: 1. Parse is slow -- take it out of the critical path (as Gregg and Romano do) or eliminate it (as Scott and Joel do). 2. It's not the number of parse's (Greg has one per line; Romano has one for the whole dataset) so much as the volume of data to be parsed 3. Sort is fast. There is not much to chose in time between Scott (who uses sort) and Joel (who writes his own, special purpose, sort) If people with other machine configurations take the time to run these tests and report the results, we'll all learn a little more about how memory affects the speed of Rebol on different platforms. And, as both Carl and Joel have pointed out in different ways, Louis now has enough (probably more than enough) options to be able to select the one that fits the purpose of his data. It's been fun! Sunanda. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
