Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

DDR4 Memory Speed and Amount of Memory

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    DDR4 Memory Speed and Amount of Memory

    Hi, I currently have 16GB 2133mhz DDR4 RAM on my Threadripper machine. Do you think it'll make any significant speed improvements to Ninja Trader's Strategy Analyzer if I upgrade to a faster RAM (e.g. 3200Mhz) ? OR should I get more memory (32GB) ? Trying to find out what affects the strategy analyzer the most.

    Thanks.

    #2
    Unlikely.

    Unless you are running out of memory? Then more would be better.

    Comment


      #3
      Hello johnadams,

      The slowest bottleneck will inhibit the performance.

      If you have the fastest CPU in the world (meaning single threaded performance) and a slow hard drive and not enough memory, the limitation will be how fast data can be written and read from hard drive and loaded into memory.

      Memory generally isn't an issue until it runs out. Once it runs out the computer will begin using the hard drive as memory and everything will become super slow as memory will now be working at the speed of a hard drive.

      Each system is unique. You need to find out what the bottleneck is in this computer and address this computer as a unique hardware setup.

      Faster memory (DDR4 vs DDR3) may play a small role, but generally the speed that things are loaded into memory are not the bottleneck. Typically not having enough memory, having a slow hard drive read and write speed, or having a slow clock on the single threaded performance of the CPU are going to be the bottlenecks. Which ever is the slowest is going to be the fastest that things can be done (the weakest link in the chain means the entire change has the maximum strength of that weak link).

      The biggest performance gains during a backtest come from ensuring that objects are reused in memory instead of created new and any kind of looping is minimized as much as possible within the code of the script. (Storing a value that would normally be calculated the same again would give a performance boost)
      The biggest performance gains during an optimization come from IsInstantiatedOnEachOptimizationIteration being set to false and all objects being declared within the scope of the class but initialized within OnStartUp when State is State.DataLoaded and only if they need to be. Resetting arrays is always better than creating new arrays.

      Below is a publicly available link to the help guide.
      Chelsea B.NinjaTrader Customer Service

      Comment


        #4
        Hey johnadams...I'm new to NT, have been pounding out code for a few months and have only been doing SIM demo mode so far. I started with a Surface Pro 4...i5-6300U 2 core/4 thread processor, and 8GB RAM. I was wondering the same as you for the strategy analyzer, so I built a new PC...Ryzen 1800x 8 core/16 thread, with 16GB RAM. Bottom line for me was that, for the strategy analyzer, it didn't seem to make much difference...for both machines the CPU % pretty much would stay in single digits and the RAM usage really didn't change much when running the analyzer. I have 3200mhz RAM and have only played a little with overclocking, and it still doesn't seem to make a difference with the analyzer. I've watched the MS task manager performance tab, and also my motherboard utility (ASUS AI Suite) for the past couple of weeks to monitor this stuff.

        EDIT...I tested a 1400 line strategy today on my Ryzen PC (about 450 lines of OnBarUpdate code) - nothing real fancy in the code, simple TA calcs and a couple of simple indicators are referenced in it, and it does some logging to a text file for me (a 0.5MB file was produced during testing). No looping or anything like that in it. I used a 5 MIN primary series and 2 HR secondary series of a /GC futures contract. For a four month standard backtest, in a stock motherboard configuration for CPU/RAM speeds, it took about 2 min and 20 seconds to run. When I overclocked to the preconfigured XMP profile for my memory (14-14-14-34 timing, DDR4-3200 and 1.35v), I saved about 10-15 seconds. When I tried to force the memory to 3600, my PC wouldn't boot. As I previously stated, there is basically no effect on my CPU % or RAM usage during these tests. One final note...for max speed, I have loaded NT and the Documents folder onto an M.2 drive that is separate from the OS drive, and my logger also writes to that drive.
        Last edited by Zigfried; 12-19-2017, 10:58 AM.

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by algospoke, Yesterday, 06:40 PM
        2 responses
        19 views
        0 likes
        Last Post algospoke  
        Started by ghoul, Today, 06:02 PM
        3 responses
        14 views
        0 likes
        Last Post NinjaTrader_Manfred  
        Started by jeronymite, 04-12-2024, 04:26 PM
        3 responses
        45 views
        0 likes
        Last Post jeronymite  
        Started by Barry Milan, Yesterday, 10:35 PM
        7 responses
        21 views
        0 likes
        Last Post NinjaTrader_Manfred  
        Started by AttiM, 02-14-2024, 05:20 PM
        10 responses
        181 views
        0 likes
        Last Post jeronymite  
        Working...
        X