Would I have been better off with a single or dual core rather than quad?

Discussion in 'Hardware' started by J.P., Mar 30, 2010.

  1. Different apps would use separate instances of the java virtual machine - which should be capable of being run on different cores.

    Try it out and see I guess - the processes to look for would likely be javaw.exe or java.exe
     
    #31     Mar 31, 2010
  2. Excel is not a multi threading application.

    Excel supports multi-threaded recalculations (MTR).
    This is a big difference and your worksheet design will make you or break you.

    From: http://msdn.microsoft.com/en-us/library/bb687899.aspx

    Excel 2007 uses a single main thread to run or execute the following:

    * Built-in commands
    * XLL commands
    * XLL Add-in Manager interface functions (xlAutoOpen function, and so on)
    * Microsoft Visual Basic for Applications (VBA) user-defined commands (often referred to as macros)
    * VBA user-defined functions
    * Built-in thread-unsafe worksheet functions (see the next section for a list)
    * XLM macro sheet user-defined commands and functions
    * COM add-in commands and functions
    * Functions and operators within conditional formatting expressions
    * Functions and operators within defined name definitions used in worksheet formulas
    * The forced evaluation of an expression in the formula-edit box using the F9 key

    All worksheet formulas, regardless of whether the functions are thread safe or not, are evaluated on the main thread unless Excel 2007 is configured to use more than one thread.

    When the user specifies that more than one thread should be used, the additional threads are used for thread-safe cells. Note that the main thread may still be used for thread-safe cells when it makes sense from a load-balancing point of view.

    Excel 2007 only considers the following as thread safe:

    * All unary and binary operators in Excel.
    * Almost all built-in worksheet functions in Excel 2007 (see exceptions list)
    * XLL add-in functions that have been explicitly registered as thread-safe.

    The built-in worksheet functions that are not thread safe are:

    * PHONETIC
    * CELL when either the "format" or "address" argument is used
    * INDIRECT
    * GETPIVOTDATA
    * CUBEMEMBER
    * CUBEVALUE
    * CUBEMEMBERPROPERTY
    * CUBESET
    * CUBERANKEDMEMBER
    * CUBEKPIMEMBER
    * CUBESETCOUNT
    * ADDRESS where the fifth parameter (the sheet_name) is given
    * Any database function (DSUM, DAVERAGE, and so on) that refers to a pivot table
    * ERROR.TYPE
    * HYPERLINK

    To be explicit, the following are considered to be unsafe:

    * VBA user-defined functions
    * COM add-in user-defined functions
    * XLM macro-sheet user-defined functions
    * XLL add-in functions not explicitly registered as thread safe


     
    #32     Mar 31, 2010
  3. J.P.

    J.P.

    Thanks. Although I conceptually can't grasp how a 2.5 GHz quad CPU running a single thread in one core and maxed out at 25% of TOTAL capacity will somehow run faster than a 2.5 GHz single core (if one were available) running at near 100%, I very much appreciate your setting me straight on this. Thanks again Scat.
     
    #33     Apr 1, 2010
  4. J.P.

    J.P.

    Thanks again for your post. But no, I was talking about AFTER everything has downloaded, whether it takes 5 seconds or all day. See the steps of my post of 3/31, 1:51 p.m. ET. Also, I mean one core shows 25% in the Processes section of Task Manager.
     
    #34     Apr 1, 2010
  5. J.P.

    J.P.

    I said Excel was multithreaded. You said it supports multi-threaded recalculations. OK, you are correct. My only point was that some areas of Excel utilize all four cores of a Quad and some do not. I appreciate the task breakdown and other details you posted and it will be interesting to see what Excel 14 brings in June. Regards, JP.
     
    #35     Apr 1, 2010
  6. In Task Manager's Performance tab, if one core shows 25% it is not maxed out, not even close, even if it hovers at 25% for a long time. Your interpretation of Task Manager stats appears to be off.

    Your comment "long waits while opening or saving large spreadsheets" means you could benefit from an SSD drive.
     
    #36     Apr 1, 2010
  7. I have been running TradeStation on my new box that is based on Intel i7 930 for a couple of days now. I see 8 windows in my Task Manager Performance tab. (4 cores x hyperthreading). What I see most of the time is that only one of those windows is constantly about 10% to 20% busy. The other 7 windows are pretty much in idle. During TradeStation start-up (loading the layout), I see about 3 of the 8 windows have some signs of life.

    I know I probably have over-spec'ed my new PC. But I rather over-spec it than seeing a screen-froze again. The price differential between a quad core and a dual one is not that much these days, I don't think. For example, I got my i7 930 at $290. Maybe unless I buy through EBay or something, I don't think I can get any processor for less than $200. It would not worth the time to hunt for it and wait for me anyway.

    I would imagine that future applications would, I hope, take advantage of the hyperthreading and multicore technologies.

    With TradeStation, I only see one process "orchart.exe" that is constantly eating CPU cycles. I deduce that it is the main image TradeStation runs. But TradeStation does not seem to have another process, even when I fire out multiple "desktops" within TradeStation.

    To balance the resources, I plan to put more monitors/video-cards on this box to take advantage of the extra CPU cycles. And perhaps use it to drive some other trading apps.
     
    #37     Apr 1, 2010
  8. I have been using desktop PCs for over 30 years. I used to build my own in the mid 80s. With technology advancements, you are always dealing with 3 different components in computing that cause bottlenecks:

    CPU power
    memory
    I/O (either disk or the network)

    As the CPU get faster and faster, you need more memory and faster memory to take advantage of it. As you get more memory and a good CPU, your I/O may become the bottleneck. Once you get better I/O, your CPU is not fast enough any more. etc..

    So the CPU "core" speed is only one component to get a faster throughput. You can only take adcantage of the fast core speed if your app requires a lot of high maths. (Mine lately is doing calculations based on Bollinger Bands, which is standard deviation stuff... some exponential functions and square roots). If your app needs to constantly scan the market, then probably the bottleneck is in the I/O - getting each tick from your datafeed server. Faster core speed may not be as useful if it spends a lot of time waiting for the data to arrive.
     
    #38     Apr 1, 2010
  9. J.P.

    J.P.

    I said the Processes tab (not the Performance tab as you state). As I said before, if you have a quad, look at the Processes tab (sorted on the CPU column). If you are using my example or any other single thread application that is maxed out, the top process will show that thread as maxed out at 25%. (One of the four charts in the Performance section of Task Manager will show the graph near the top, with the other three charts near the bottom.)
     
    #39     Apr 2, 2010
  10. rsi80

    rsi80

    Interesting. Which charting program would that be? Is it multi-threaded?
     
    #40     Apr 4, 2010