Build 1860 takes twice as long to compile

To add comments, please log in or register
Anthony Garot
1867
Anthony Garot  

Has anyone else noticed this?

I'm curious as to why the doubling of the compilation time.


Test: Uses the exact same code. Times are in milliseconds. Tried through Metaeditor and command line.

Build 1860: 16340,16504,16350

Build 1816: 8519,8443,8539

Alain Verleyen
36133
Alain Verleyen  
Anthony Garot:

Has anyone else noticed this?

I'm curious as to why the doubling of the compilation time.


Test: Uses the exact same code. Times are in milliseconds. Tried through Metaeditor and command line.

Build 1860: 16340,16504,16350

Build 1816: 8519,8443,8539

I didn't check, but they announced better performance (at run time). Probably it takes more time for the compiler to do it.

There is a build 1861, is it the same ?

pipspider
132
pipspider  
Anthony Garot:

Has anyone else noticed this?

I'm curious as to why the doubling of the compilation time.


Test: Uses the exact same code. Times are in milliseconds. Tried through Metaeditor and command line.

Build 1860: 16340,16504,16350

Build 1816: 8519,8443,8539

yeah build 1860 has some issues, I also see some of the functions are not working as well..

See here also about WebRequest() https://www.mql5.com/en/forum/259082

Marco vd Heijden
Moderator
8176
Marco vd Heijden  
Alain Verleyen:

I didn't check, but they announced better performance (at run time). Probably it takes more time for the compiler to do it.

There is a build 1861, is it the same ?

The performance is horrible.

It's not even possible to display a simple clock that ticks every second.

//--- create button
   ObjectCreate(0,"time",OBJ_BUTTON,0,0,0);
//--- create timer
   EventSetMillisecondTimer(250);
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   ObjectSetString(0,"time",OBJPROP_TEXT,TimeToString(TimeCurrent(),TIME_SECONDS)); 
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   ObjectSetString(0,"time",OBJPROP_TEXT,TimeToString(TimeCurrent(),TIME_SECONDS));
  }
//+------------------------------------------------------------------+
Alain Verleyen
36133
Alain Verleyen  
Marco vd Heijden:

The performance is horrible.

It's not even possible to display a simple clock that ticks every second.

Will be better like this :

void OnTimer()
  {
//---
   ObjectSetString(0,"time",OBJPROP_TEXT,TimeToString(TimeCurrent(),TIME_SECONDS));
   ChartRedraw();
  }
Marco vd Heijden
Moderator
8176
Marco vd Heijden  

Redrawing the entire interface when i only want to update the time.

I'm gonna try it.

Anthony Garot
1867
Anthony Garot  
Alain Verleyen:

I didn't check, but they announced better performance (at run time). Probably it takes more time for the compiler to do it.

There is a build 1861, is it the same ?

5.00 Build 1861:

16836,16582,16588 ms

So, essentially the same as 1860 in duration of compilation.

From the messages, it seems to spend most of the time at the final stage, "generating code," which I would assume to be some sort of linking stage of some sort. Since there are no object files like in C++, I'm probably mixing apples and oranges.

Anyway, I will open a ticket with the service desk to let them know. Maybe there isn't a problem—this may just be the way the compiler works from now on.

pipspider
132
pipspider  
Marco vd Heijden:

Redrawing the entire interface when i only want to update the time.

I'm gonna try it.

did "ChartRedraw()" fixed the issue?
Marco vd Heijden
Moderator
8176
Marco vd Heijden  
pipspider:
did "ChartRedraw()" fixed the issue?

Yes for the clock issue and the blinking button, so not for the compilation time, thats another thing but not a problem for me although it took up to 20 Seconds last time.

pipspider
132
pipspider  
Marco vd Heijden:

Yes for the clock issue and the blinking button, so not for the compilation time, thats another thing but not a problem for me although it took up to 20 Seconds last time.

Hmm OK thanks, Its interesting, I thought ChartRedraw(), would slow down, because it makes the whole chart redraw..  
Anyway thanks for letting me know..
Marco vd Heijden
Moderator
8176
Marco vd Heijden  
pipspider:
Hmm OK thanks, Its interesting, I thought ChartRedraw(), would slow down, because it makes the whole chart redraw..  
Anyway thanks for letting me know..

yes i agree it's a bit unpractical to redraw the entire interface 4 times a second but it seems to be the only way.

12
To add comments, please log in or register