Well, with the results in for 16 out of 22 stocks, 3 metrics are standing out for both the last 2 years and the last 5 years worth of history for those stocks. It will be sometime tomorrow until the full results are in, as I promptly added more analysis after my optimization work.
As further decreasing runtime via manual optimization is going to be quite development time consuming relative to the runtime saved, I decided to research and purchase the parts to put together a quad core machine. For $475 and the time it probably would have taken to optimize enough increase throughput another 10%, I’ll have a machine with twice the throughput and I can free up my primary machine so I can use it exclusively for doing new development work. The analysis runtimes are getting long enough that I may be able kick off a run, do the development work for the next run after that, and still have time to some work on my game before all of the results are in.
I’m also thinking about making the analysis tool into a distributed app. Currently it isn’t even multi-threaded since the proc can be fully utilized by running analysis on different stocks in parallel, but this requires a bit of manual intervention on my part to keep things fully loaded. By making it fully distributed I can also still have my primary machine automatically start do analysis work when its idle and I can also then easily added more machines if necessary. The distributed app infrastructure should also be largely shareable with my game as well and it will give me an excuse to look into Google’s recently released Protocol Buffers data interchange format, which is appealing as it supposed to be simple and its compiler produce code for both C++ and Python (and Java).