MetaTrader 4 and MetaTrader 5 Memory and Data Loading Management Comparison - page 5

 

You have to think how this can be related to user experience. Is it CPU time or memory or reliability of getting data ? What would user and developer prefer to have it in their trading desk.

Then you will get the answer pretty soon. Just making one of them faster or slower hardly appeal anything to user and developer. We need some balance between all to get the best user experience.

 and it is beyond the bug haunting but making the architecture better.

 

Software ballooning on resources or having reduced speed on every update is expected. It can occur today, or occur several years later.

It happens with every other kind of enterprise software I know.

Is MT4/MT5 an enterprise level software? Maybe it is. Just that we have been taking free things for granted for many years. It is a complex piece of software, having many robust features.

They could be experimenting new features which no one know what. 

Maybe they are using new 3rd party libraries that they are not in control of.

There is no end to trying to pin down what goes wrong. 

Peace comes when we try to stay calm and think on how to adapt to problems, rather than trying to get every problem solved. 

Be cool. 

As long as the software don't break down when I am having a live trade, I will be counting my blessings. :/

For me, I will recommend the use of "Game Boosters" to give more memory and speed to the running application. They are free by the way.

 
Alain Verleyen:

Last test I made was to check execution speed. I was expecting, MT5 to be faster or equal to MT4 for such task grabbing data. At my big surprise MT4 was around 25% faster than MT5.

 MT4 (Build 1090)
MT5 (Beta Build 1959)
After a fresh start of the platform
Iteration 100 : took 599 µs, all iterations 262457 µs
Iteration 100 : took 1077 µs, all iterations 267031 µs
Subsequent calls
Iteration 100 : took 582 µs, all iterations 64122 µs
Iteration 100 : took 690 µs, all iterations 81501 µs
 Iteration 100 : took 717 µs, all iterations 68353 µs
Iteration 100 : took 1087 µs, all iterations 84886 µs
 Iteration 100 : took 610 µs, all iterations 62642 µs
Iteration 100 : took 709 µs, all iterations 80307 µs

The test was repeated several times in similar conditions for both platforms, it always give similar results.

I believe you are may be forgetting about the impact of Virtual Page File usage. The reason for MT5 being slower may be due to this fact. In a previous post of yours, you can clearly see that the MT5 was using quite a bit of more virtual memory which could cause page swapping to take place and slowdown MT5 compared to MT4.

You may need to disable to Virtual Page file to get a more accurate report of execution speed.

 
Young Ho Seo:

You have to think how this can be related to user experience. Is it CPU time or memory or reliability of getting data ? What would user and developer prefer to have it in their trading desk.

Then you will get the answer pretty soon. Just making one of them faster or slower hardly appeal anything to user and developer. We need some balance between all to get the best user experience.

 and it is beyond the bug haunting but making the architecture better.

I am also a user and a developer and apparently I don't have the same user experience like yours. It's all subjective, that's why I tried to bring some objectivity to the issue.

MT4 and MT5 are both great software in my opinion, with their strengths and weaknesses. 


WARNING : I realized that the results I posted yesterday concerning CPU/RAM was flawed because the MT4 platform was running was on a SSD. So I updated the results, running both platforms on the same hard disk.

 
Fernando Carreiro:

I believe you are may be forgetting about the impact of Virtual Page File usage. The reason for MT5 being slower may be due to this fact. In a previous post of yours, you can clearly see that the MT5 was using quite a bit of more virtual memory which could cause page swapping to take place and slowdown MT5 compared to MT4.

You may need to disable to Virtual Page file to get a more accurate report of execution speed.

The results I posted yesterday about CPU/RAM were flawed, I am currently updating them.

I will also follow your suggestion to run the test with virtual memory disabled.

 
Fernando Carreiro:

I believe you are may be forgetting about the impact of Virtual Page File usage. The reason for MT5 being slower may be due to this fact. In a previous post of yours, you can clearly see that the MT5 was using quite a bit of more virtual memory which could cause page swapping to take place and slowdown MT5 compared to MT4.

You may need to disable to Virtual Page file to get a more accurate report of execution speed.

After disabling virtual memory, the speed execution test give similar results. MT4 25% faster on this test.

All results published are now accurate.

 
Alain Verleyen:

After disabling virtual memory, the speed execution test give similar results. MT4 25% faster on this test.

All results published are now accurate.

Could the slower performance in MT5 be due to debug code in the beta build or is it the same in the stable builds as well?
 

The conclusions are just the opposite of my assumptions. I was thinking : "yes MT5 will use more CPU/RAM but the execution will be faster".

The results show that MT4 is faster on this specific test, but that it uses more memory and CPU (even idle, without any code running inside). At the launch of the script though there was an important peak of memory usage with MT5, that's seems to me normal as MT5 is 64-bit and use more thread. Which for this test grabbing data doesn't offer any significant advantages.

 
Alain Verleyen:

The conclusions are just the opposite of my assumptions. I was thinking : "yes MT5 will use more CPU/RAM but the execution will be faster".

The results show that MT4 is faster on this specific test, but that it uses more memory and CPU (even idle, without any code running inside). At the launch of the script though there was an important peak of memory usage with MT5, that's seems to me normal as MT5 is 64-bit and use more thread. Which for this test grabbing data doesn't offer any significant advantages.


The peak is not normal and this is my second biggest concern with MetaTrader 5. MetaTrader 4 does not have this peak. It is calm from start to end.

Most of trader close MetaTrader with indicators on several charts. On Monday they expect to open MetaTrader with the same indicators on several charts.

Then they get freeze and mouse is not responding or crash etc.

Who cares about idle time, most of savvy trader here runs over 20 charts with multiple of indicators.

We have to tell th truth so MT5 can be really improved.



 
Young Ho Seo:

The peak is not normal and this is my second biggest concern with MetaTrader 5. MetaTrader 4 does not have this peak. It is calm from start to end.

Most of trader close MetaTrader with indicators on several charts. On Monday they expect to open MetaTrader with the same indicators on several charts.

Then they get freeze and mouse is not responding or crash etc.

Who cares about idle time, most of savvy trader here runs over 20 charts with multiple of indicators.

We have to tell th truth so MT5 can be really improved.

Please stop getting emotional about it. If you want MetaQuotes to listen and make changes to MT5 then you have to be methodical and logical about it, just as @Alain Verleyen has done in these tests.

You can't go about it half-cocked and ranting about your problems without backing your claims. Things only get solved if you can provide scenarios that can be replicated by others so that the developers can study it properly.

The work that was done here by @Alain Verleyen should have actually been carried out by you in order to back you claims.

I personally am no fan of MT5 and prefer MT4 myself, but when comparing the two, you can't just base it on personal preferences. You have to be scientific about it and substantiate your reasoning.

Don't let emotion cloud your judgement!

Reason: