Performance Issues with MT5 on New Surface Laptop 7 (ARM) vs. Surface Laptop 4 (x64) - page 2

 

Alright, thank you very much for your helpful input. I also topped up my MQL5 account and tried the MQL5 Cloud Network for the backtest, but it seems to work the same as the local agent. For a standard backtest, it still only uses a single core. The MQL5 Cloud Network is probably only utilized when optimization is selected, where many different parameter sets need to be tested in separate backtest runs.

At least I learned a lot, even though the result is disappointing and my new laptop didn’t pay off ;-)

 
eatrader1231231231231233r5235134 #:

Alright, thank you very much for your helpful input. I also topped up my MQL5 account and tried the MQL5 Cloud Network for the backtest, but it seems to work the same as the local agent. For a standard backtest, it still only uses a single core. The MQL5 Cloud Network is probably only utilized when optimization is selected, where many different parameter sets need to be tested in separate backtest runs.

It would be interesting if you publish properties dialog of the terminal (Compatibility tab) or system task manager with the column Architecture enabled, just to make sure that MT5 runs via x64 emulation on ARM, not natively. This may cost up to 50% of performance (in comparison to native ARM64 programs) and explains your bad experience. But it's anounced that in the next Windows 11 major update they speed up the emulation, so it will run at 90% speed of native ARM apps.

 

Good evening Stanislav,

Thank you very much for your comment.

I checked via Task Manager and the architecture is x64, so it is emulated and not native.

I also checked for Windows updates and there was a new update, 24H2. I was excited, but after the installation, the speed did not improve. However, in my original post, I noticed that I had already installed the 24H2 update. Only the Windows Feature Experience Pack 1000.26100.23.0 has changed. Hopefully, the update that significantly improves the speed will come soon.

Do you know which update that will be? Will it be 24H3?

 

No, 24H2 is the newest version, with the performance improvements.  I'm seeing up to 8% performance improvement on Intel, and I hear it's supposed to be more on AMD.  There will be no "24H3"—the 'H' stands for "half", with 'H2' referring to the second half of 2024.  The next version would be 25H2, coming in the second half of 2025 (likely in September or October, as usual).  Microsoft stopped releasing biannual upgrades with Windows 10 21H1, when they finally got it right and then shifted development efforts to Windows 11.

If you're wanting fast performance on a laptop, you should wait for Intel's 15th generation CPUs to launch and get a laptop with one of the higher end ones inside (likely sometime next year).  Or if you can't wait, go with a laptop having an Intel 13900HX/14900HX processor now (they will be less efficient than the new ones coming out, with inferior onboard graphics—but I believe processing speeds should be similar).

 

all new systems with ARM come with 24H2 installed upon the initial install of windows. These ARM systems were the first to get it before even most beta testers did. The main feature on these ARM systems is more built in features for co pilot and the AI.

And I am afraid to say that ARM systems will never compete in system performance wars -- mostly due to their much lower amounts of power availability and lower level heat dissipation rates. They are a system product that is made for specificly intermittent usage; unlike native x64 systems of non ARM systems. Intel and AMD have lowered their power requirements so that they can take the market from ARM systems and early ARM or pre-ARM systems due to their ability to use much smaller batteries and ability to run for longer periods on those smaller batteries.

I doubt that even when mq does further develop the mtx compatability, or even develop an ARM version of mtx, that performance will NEVER match the performance speed of any NEW non ARM system.

 
Hi Shalem,

Thank you for the clarification. It's really a shame; I had so hoped that the update would speed things up. If I already had the 24H2, I don't even want to know how slow the backtest was before this update. Unfortunately, I can no longer return my new laptop, and I don't want to have to buy a new one in half a year or a year just because of the backtest.

I've also been considering getting a PC-on-a-stick to potentially offload the backtests. Does anyone know if this would work and speed up the backtests?

Some of the current PC-on-a-stick models include:
- Geekom XT12 Pro: Equipped with an Intel Core i9 CPU for exceptional single-core performance.
- Intel NUC 12 Enthusiast (NUC12SNKi72): Featuring a powerful Intel Core i7 processor.
 
algotrader01 #:
Hi Shalem,

Thank you for the clarification. It's really a shame; I had so hoped that the update would speed things up. If I already had the 24H2, I don't even want to know how slow the backtest was before this update. Unfortunately, I can no longer return my new laptop, and I don't want to have to buy a new one in half a year or a year just because of the backtest.

I've also been considering getting a PC-on-a-stick to potentially offload the backtests. Does anyone know if this would work and speed up the backtests?

Some of the current PC-on-a-stick models include:
- Geekom XT12 Pro: Equipped with an Intel Core i9 CPU for exceptional single-core performance.
- Intel NUC 12 Enthusiast (NUC12SNKi72): Featuring a powerful Intel Core i7 processor.

If you do a search of this site, I think you will find that the only way to increase speed of backtests is to add more ram/memory. So, whichever system you consider, then, max out the memory capacity and you will get best speeds.

no "stick" will do that for you. But I have a Geekom Mini pc with 64gb memory, and it is fastest system i ever had for backtesting even tho it does have an older intel 12450H, cpu at 2.5Ghz. The speedy part is the total amount of memory, not the cpu.

 
algotrader01 #:

Thank you for the clarification. It's really a shame; I had so hoped that the update would speed things up. If I already had the 24H2, I don't even want to know how slow the backtest was before this update. Unfortunately, I can no longer return my new laptop, and I don't want to have to buy a new one in half a year or a year just because of the backtest.

I've also been considering getting a PC-on-a-stick to potentially offload the backtests. Does anyone know if this would work and speed up the backtests?

There are numerous way to speed up backtest other than hardware upgrade. All of them have specific pre-conditions, but at least it's worth considering. For example, you can enable profit in pips in the tester settings, improve your code with built-in profiler (remove bottlenecks), switch to bar by bar trading signals (if applicable) or at time itervals (as opposed to processing every tick), move indicator's calculation algorithms (if they're used) into EA.

 
Hi both,

Thanks for your feedback. Regarding code improvement: I regularly use the built-in profiler to identify bottlenecks. Bar-to-bar is not an option since I'm scalping. What I could try is profits in pips. I'm not sure why that would speed things up significantly, but it's certainly worth a try.

As for the mini PC: I'll check the prices for a 64GB model. But if you say that RAM is more important than CPU, my new laptop has 32GB and my old one essentially 4GB (with hyperthreading, 8GB). Perhaps emulating x64 on ARM is simply making everything super slow.

I haven't done a thorough search yet, but for single/standard backtests where only one core is used, does anyone know whether AMD or Intel CPUs are generally stronger?
 
algotrader01 #:

Thanks for your feedback. Regarding code improvement: I regularly use the built-in profiler to identify bottlenecks. Bar-to-bar is not an option since I'm scalping. What I could try is profits in pips. I'm not sure why that would speed things up significantly, but it's certainly worth a try.

It should speed up backtest significantly because it skips very heavy calculations of exchange rates and profits per tick.