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 > > >
