Rob,

Since I have completed my ability to run my simple array vs loop timing program 
in the various setups, I can show some interesting results:

Running under Parallels 5, XP 32 bit, W7 64 bit, AB 32bit, AB 64 bit, 1-3 
cores, and 4GB RAM:

Using W7 64 bit with AB 32 bit and 1 core as the base case I get a load factor 
of 198%

2 cores is 4% faster than 1 core.  3 cores is 5% faster than 1 core.

XP is 5% slower than W7 across the board

AB 64bit is 20% slower than AB 32bit  **** this is the surprising one

I could not use the actual high speed timer for measurements, because the times 
were to jumpy for 2-3 cores on W7, even with averaging 1000 runs.

This makes me wonder if there is some Parallels/W7 process that is messing with 
this hardware function with multiple cores running.

I was disappointed at the apparent 20% performance penalty for running AB 64 
bit under Parallels and W7 64 bit.  It bears further investigation.

Best regards,
Dennis


On Aug 7, 2010, at 7:28 AM, Rob wrote:

> I thought it would be worth adding a recent experience to this thread...
> 
> Namely some issues I had running 64 bit AmiBroker and 64 dll's on a Mac Pro 
> running Win 7 x64 under BootCamp.
> 
> As TJ knows, I was seeing very clear evidence that my 64 bit versions were 
> running slower than the 32 bit equivalents. Despite completely clean installs 
> of AB 32 & 64 bit I simply could not resolve the issue.
> 
> Anyway, I subsequently moved all the code and apps across to the PC I have 
> just built and everything works 100% as it should. i.e. 64 bit AB with 64 
> dll's are about 25% faster on this new machine.
> 
> I mention this just to highlight that virtualization solutions (even 
> bootcamp) have kinks & wobbles particularly around the cutting edge of 
> software development (i.e. full support for 64 bit OS and software including 
> development software). It's worth bearing these things in mind because time 
> spent trying to resolve these issues can often be wasted time.
> 
> 
> --- In [email protected], Tomasz Janeczko <gro...@...> wrote:
>> 
>>  Hello,
>> 
>> 1. Does not make difference
>> 
>> 2. Yes it can handle that
>> 
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> 
>> On 2010-08-05 05:26, XIAOFEI wrote:
>>> It is a great discussion!
>>> 
>>> I plan to use i-7 pc to trade no more than 10 futures. For each afl 
>>> formulas are short and simple. I would like to have the quickest way to 
>>> place my trades. My data source: IB about 0.3 second per tick.
>>> 
>>> I would appreciate if someone could reply following questions:
>>> 1/which way to trade is quicker?
>>> Each future instruments in separated chart windows, trade them through 
>>> chart indicator and set refresh (0); or run AA once a second on each 
>>> separated windows.
>>> 
>>> 2/Can window 7 program handles 10 chart renderings at the same time? I 
>>> learned from previous posts that window 7 has improved the Gdi lock problem 
>>> some extent.
>>> 
>>> Brgds/Bill
>>> 
>>> --- In [email protected], Dennis Brown<see3d@>  wrote:
>>>> Herman,
>>>> 
>>>> Thanks for the suggestions.  I agree that code can give the best 
>>>> improvements, but at a big cost of time to implement.  Actually I use a 
>>>> mixture of the things you suggest, and have a number of them on my to-do 
>>>> list.  I have a lot of algorithms that I still want to test out, and I 
>>>> want my code to be as simple and straight forward as possible until I like 
>>>> the results and it is debugged.  I am saving the more esoteric code 
>>>> enhancements for after I am happy algorithmically, and my only concern is 
>>>> speed.
>>>> 
>>>> I only have one chart that runs realtime, since I only trade one future.  
>>>> I have recognized that since I run different timeframe algorithms all at 
>>>> the fastest resolution (15 second bars right now), but some things are not 
>>>> needed at that timeframe resolution, I could gain speed by using, for 
>>>> instance, 5 minute bars for some time consuming algorithms with timeframe 
>>>> compress and expand.
>>>> 
>>>> I had been running 1 minute bars until recently, but found that I needed 
>>>> 15 second bars to make my scalping algorithms work reliably.  This gave me 
>>>> an instant huge degradation in speed.  I had to go from 5 day history to 1 
>>>> day history to just keep my charts running in realtime.  I really need 10 
>>>> days of history for context in the algorithms.  I already save things in 
>>>> static arrays to keep from recalculating them.  This is mostly to be able 
>>>> to update the chart image so that I can run fast enough to operate the UI 
>>>> during long off-line backtests.
>>>> 
>>>> I have been doing a lot of thinking about ways to speed up my one chart.  
>>>> It will be a long process though, with all the things on my to do list.
>>>> 
>>>> BR,
>>>> Dennis
>>>> 
>>>> 
>>>> On Aug 2, 2010, at 1:19 PM, Herman wrote:
>>>> 
>>>>> 
>>>>> I agree playing with market data is always interesting and challenging: 
>>>>> great fun in my book.
>>>>> 
>>>>> I have always found that making my code execute faster can give 
>>>>> improvements far above buying new hardware (unless you are using a ten 
>>>>> year old computer).
>>>>> 
>>>>> Perhaps you are running speed-optimized code... if so ignore my comments.
>>>>> 
>>>>> For speed i may partition my code according to priority, some complex 
>>>>> charts may not need to update with each new quote. Lengthy procedures and 
>>>>> scans can be partitioned and interlaced with other tasks, some code needs 
>>>>> to run only periodically (1sec, 10sec) or execute sequentially, you can 
>>>>> use smart scans that scan fast changing (or those near a trigger price) 
>>>>> tickers more often and and others less frequent, some complex charts can 
>>>>> be saved in static arrays that are refreshed only periodically (similar 
>>>>> to the often requested feature of saving a hart image), sometimes you 
>>>>> don't really need fully Backfilled data all the time and 
>>>>> GetRTDataForeign() to give you only the last quote (FAST!) may be enough, 
>>>>> etc.
>>>>> 
>>>>> Of course careful CHECK analysis for bottle-necks is essential.
>>>>> 
>>>>> Happy program solving :-)
>>>>> 
>>>>> herman
>>>>> 
>>>>>> Rob,
>>>>>> It is always a tough choice between different tools
>>>>>> tradeoffs for each trader.  There never seems to be one
>>>>>> universal solution that works for everyone.  I think that
>>>>>> is because there is not one universal way to trade the
>>>>>> markets.  There are so many different trading vehicles and
>>>>>> styles.  Couple that with the different mental and
>>>>>> emotional personalities of the traders and it is one very
>>>>>> rich landscape.  Everyone is looking for some inefficient
>>>>>> niche to exploit.  It is the traders that can find an
>>>>>> under-exploited niche that can make money.  The best ones
>>>>>> are the original finds of course.  That is what makes
>>>>>> trading the markets so interesting.
>>>>>> I had hoped that I could just work on my trading
>>>>>> algorithms, and over time, the CPU hardware would get more
>>>>>> powerful.  Unfortunately, the CPUs seem to have hit
>>>>>> resistance in the 3-4 GHz zone.  Increases in power have
>>>>>> switched to more parallel cores instead.  This is
>>>>>> unfortunate, as it requires a lot of work on TJ's part to
>>>>>> code for parallel processes in a way that makes sense for
>>>>>> AB.  Faster CPU's would have been so much easier for all concerned.
>>>>>> BR,
>>>>>> Dennis
>>>>>> On Aug 2, 2010, at 2:52 AM, Rob wrote:
>>>>>>> Fair enough... I have an Apple background myself Dennis and was running 
>>>>>>> AB on both Fusion and eventually Bootcamp for the past few years.
>>>>>>> Anyway, I just bit the bullet and build myself a trading PC... I've 
>>>>>>> moved away from my 8 core 3 Ghz  mac pro for a 4 core i7 overclocked to 
>>>>>>> 4Ghz (8 cores if you count hyperthreading). Anyway, I wish I'd done it 
>>>>>>> a while ago. The performance boost has been hugely significant.
>>>>>>> Basically Mac Pro's are not build for linear processing like that 
>>>>>>> required by AmiBroker when it's pushed... you need less cores and more 
>>>>>>> power in each core. Mac Pro's are great for proper multi-threaded apps 
>>>>>>> like video editing in final cut pro.
>>>>>>> Just my 2 cents as a mac user too.
>>>>>>> --- In [email protected], Dennis Brown<see3d@>  wrote:
>>>>>>>> Rob,
>>>>>>>> I realize I would get some performance boost, but no can do.  I run a 
>>>>>>>> lot of Mac programs on the same machine that support my trading.  I 
>>>>>>>> give 2 cores to the Mac and 2 cores to the PC.  The only reason I run 
>>>>>>>> Parallels is to run Amibroker.  Otherwise, I would have no need or use 
>>>>>>>> for Windows or Parallels.  BTW, Parallels V5 is quite a bit faster 
>>>>>>>> than V4.  Fusion 3.1 is a lot faster than 3.0.  It is close to 
>>>>>>>> Bootcamp now, except for gaming graphics.
>>>>>>>> I also have a duplicate machine that runs the rest of my trading 
>>>>>>>> software and general things like email and web browser.  Both machines 
>>>>>>>> are tightly networked together and back each other up. If my Parallels 
>>>>>>>> machine goes down for any reason, I can bring it up on the other 
>>>>>>>> machine from a time machine restore.  As far as Windows knows, the 
>>>>>>>> hardware never changed.
>>>>>>>> Maintainability, security, and redundancy are more important to me 
>>>>>>>> than speed.  If I were to take the approach of running W7 + AB 
>>>>>>>> natively on a machine, I would get a completely separate machine just 
>>>>>>>> for that, but then I would have to network it into the Macs for 
>>>>>>>> backups.  Instead, I would likely make it more like a read only 
>>>>>>>> realtime execution system for the day.  The real development would 
>>>>>>>> stay in the Parallels system and I would download the AB folder every 
>>>>>>>> day.  It would not be as simple a setup to maintain as I now have.
>>>>>>>> BR,
>>>>>>>> Dennis
>>>>>>>> On Aug 1, 2010, at 6:40 PM, Rob wrote:
>>>>>>>>> Dennis,
>>>>>>>>> I imagine you'd get a huge performance boost from running under 
>>>>>>>>> Bootcamp rather than Parallels. That's my experience anyway. Simply 
>>>>>>>>> Parallels&  Fusion, despite what they claim can't match the native 
>>>>>>>>> speed under Bootcamp.
>>>>>>>>> --- In [email protected], Dennis Brown<see3d@>  wrote:
>>>>>>>>>> Jerry,
>>>>>>>>>> Thanks for this information.  These are fantastic results.
>>>>>>>>>> I have been waiting for the best time to move from XP 32 bit to W7 
>>>>>>>>>> 64 bit.
>>>>>>>>>> IQFeed and AB 64 bit are now available, I just upgraded my RAM to 
>>>>>>>>>> 8GB yesterday, and Parallels on a Mac now supports W7 64 bit.
>>>>>>>>>> It seems that all the parts are in place to make the switch to 64 
>>>>>>>>>> bit.
>>>>>>>>>> However, I am still wary of making the switch too soon before all 
>>>>>>>>>> the bugs are worked out.  Even though I am desperate for more speed,
>>>>>>>>>> I still have to use this system in live trading every day.
>>>>>>>>>> It looks like I will have to make an experimental version of the 
>>>>>>>>>> complete system as a new virtual machine in the next several weeks 
>>>>>>>>>> to test it.
>>>>>>>>>> Best regards,
>>>>>>>>>> Dennis
>>>>> 
>>>>>>>>>> On Aug 1, 2010, at 11:54 AM, Jerry Gress wrote:
>>>>> 
>>>>>>>>>>> Hello All,
>>>>>>>>>>> My results using 64 bit vs 32 bit, mid morning market hours using 
>>>>>>>>>>> IB, not IB
>>>>>>>>>>> Gateway. Running 4 charts, under 'Code Check&  Profile" the two 
>>>>>>>>>>> biggest
>>>>>>>>>>> total time users are Foreign and Set Foreign, 10.263 and 9.973 ms 
>>>>>>>>>>> for total
>>>>>>>>>>> of 0.0260055 sec. All running on quad core Q8200 2.34 GHz, 4 GB 
>>>>>>>>>>> memory.
>>>>>>>>>>> Load Factor:
>>>>>>>>>>> 32 bit = 116%
>>>>>>>>>>> 64 bit = 58%
>>>>>>>>>>> Total refresh time:
>>>>>>>>>>> 32 bit = 212 ms
>>>>>>>>>>> 64 bit = 117 ms
>>>>>>>>>>> Total Data Access Time:
>>>>>>>>>>> 32 bit = 18 ms
>>>>>>>>>>> 64 bit = 1 ms
>>>>>>>>>>> Plug in time:
>>>>>>>>>>> 32 bit = .3 ms
>>>>>>>>>>> 64 bit = .2 ms
>>>>>>>>>>> Free virtual memory:
>>>>>>>>>>> 32 bit = 3905 mb
>>>>>>>>>>> 64 bit = 8388448 mb
>>>>>>>>>>> Thanks TJ
>>>>>>>>>>> Regards,
>>>>>>>>>>> JG
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>>>>>>> ------------------------------------
>>>>>>>>>>> **** IMPORTANT PLEASE READ ****
>>>>>>>>>>> This group is for the discussion between users only.
>>>>>>>>>>> This is *NOT* technical support channel.
>>>>>>>>>>> TO GET TECHNICAL SUPPORT send an e-mail directly to
>>>>>>>>>>> SUPPORT {at} amibroker.com
>>>>>>>>>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>>>>>>>>>>> http://www.amibroker.com/feedback/
>>>>>>>>>>> (submissions sent via other channels won't be considered)
>>>>>>>>>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>>>>>>>>>> http://www.amibroker.com/devlog/
>>>>>>>>>>> Yahoo! Groups Links
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>>>>> ------------------------------------
>>>>>>>>> **** IMPORTANT PLEASE READ ****
>>>>>>>>> This group is for the discussion between users only.
>>>>>>>>> This is *NOT* technical support channel.
>>>>>>>>> TO GET TECHNICAL SUPPORT send an e-mail directly to
>>>>>>>>> SUPPORT {at} amibroker.com
>>>>>>>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>>>>>>>>> http://www.amibroker.com/feedback/
>>>>>>>>> (submissions sent via other channels won't be considered)
>>>>>>>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>>>>>>>> http://www.amibroker.com/devlog/
>>>>>>>>> Yahoo! Groups Links
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>>> ------------------------------------
>>>>>>> **** IMPORTANT PLEASE READ ****
>>>>>>> This group is for the discussion between users only.
>>>>>>> This is *NOT* technical support channel.
>>>>>>> TO GET TECHNICAL SUPPORT send an e-mail directly to
>>>>>>> SUPPORT {at} amibroker.com
>>>>>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>>>>>>> http://www.amibroker.com/feedback/
>>>>>>> (submissions sent via other channels won't be considered)
>>>>>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>>>>>> http://www.amibroker.com/devlog/
>>>>>>> Yahoo! Groups Links
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> ------------------------------------
>>>>>> **** IMPORTANT PLEASE READ ****
>>>>>> This group is for the discussion between users only.
>>>>>> This is *NOT* technical support channel.
>>>>>> TO GET TECHNICAL SUPPORT send an e-mail directly to
>>>>>> SUPPORT {at} amibroker.com
>>>>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>>>>>> http://www.amibroker.com/feedback/
>>>>>> (submissions sent via other channels won't be considered)
>>>>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>>>>> http://www.amibroker.com/devlog/
>>>>>> Yahoo! Groups Links
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>>> 
>>> ------------------------------------
>>> 
>>> **** IMPORTANT PLEASE READ ****
>>> This group is for the discussion between users only.
>>> This is *NOT* technical support channel.
>>> 
>>> TO GET TECHNICAL SUPPORT send an e-mail directly to
>>> SUPPORT {at} amibroker.com
>>> 
>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>>> http://www.amibroker.com/feedback/
>>> (submissions sent via other channels won't be considered)
>>> 
>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>>> http://www.amibroker.com/devlog/
>>> 
>>> Yahoo! Groups Links
>>> 
>>> 
>>> 
>>> 
>> 
> 
> 
> 
> 
> ------------------------------------
> 
> **** IMPORTANT PLEASE READ ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
> 
> TO GET TECHNICAL SUPPORT send an e-mail directly to 
> SUPPORT {at} amibroker.com
> 
> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> http://www.amibroker.com/feedback/
> (submissions sent via other channels won't be considered)
> 
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
> 
> Yahoo! Groups Links
> 
> 
> 

Reply via email to