TJ,
I’m not sure I’d classify
these tests as non serious nor irrelevant …
I think while we at least sort of understand
the speed limitations in terms of whether or not everything fits into on-chip
memory, you may be overestimating what percentage of the user community who do
optimizations would be loading enough data so that it doesn’t fit on chip
especially as on chip memory gets larger and larger.
Maybe it wouldn’t provide any speed
increase for those wanting to load a zillion bars of intraday data for half a
zillion symbols, utilizing multiple cpu’s and/or cores may very well
provide major speed increases for those who have systems and data that do fit
in on chip memory and as such imho this is still a very worthwhile enhancement to
AB.
As an example … The optimization test
I happened to perform was on EOD data for a list of 670+ ETF’s for all
quotations. While there are varying lengths of data for these symbols, in
total there are better than 475,000 bars of data and I noticed no increase in run
times when running the same optimization on multiple copies of AB. I
would have thought this would have been enough data to not fit in on chip
memory but even if for some reason I’m not calculating how much memory
this should take correctly, the fact that it does run just as fast with two
copies of AB as compared to one would seem to illustrate that this is not a
pointless enhancement.
Fred
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Tomasz Janeczko
Sent: Friday, May 23, 2008 2:38 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Quad-core
test results
"For background, the test was an optimization run
on a single ticker,
which is how I will be running all my other tests ( ticker was QID, 468 EOD data bars
). All tests used the same code with different param settings, all tests
had about 46,000 opt steps."
These tests are irrelevant. Single ticker END OF DAY 468 bars is ONLY
14976 BYTES of memory. That's 14K or 0.014MB. Fits ENTIRELY in on-chip CPU
cache.
On ANY CPU (even the most low-end cpu).
The entire discussion was that *SYSTEM* (non-CPU) MEMORY SPEED is the
limit
===============================================
and this applies of course to cases when data did NOT FIT in on-chip
memory.
Single-ticker 468 bar optimization is TOO TRIVIAL to be relevant.
Run something serious that requires at least 20MB of RAM so it can't
sit in the cache!
Best regards,
Tomasz Janeczko
amibroker.com