Build 1860 takes twice as long to compile

 

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

 
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 ?

 
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

 
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));
  }
//+------------------------------------------------------------------+
 
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();
  }
 

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

I'm gonna try it.

 
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.

 
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?
 
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.

 
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..
 
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.

Reason: