mIRC Homepage

Increased overhead time

Posted By: maroon

Increased overhead time - 03/12/18 09:26 PM

In case this is something that's reasonably easy to locate and eliminate. It appears the scripting overhead has taken a large jump between v7.52 and v7.53, as demonstrated by running this bare-bones while() loop on both versions:

//!var %i 99999 , %t $ticks | !while (%i) { !dec %i } | !echo -a $calc($ticks - %t) ms

Repeating this consistently shows me the time increasing by 15%, and I had someone else seeing a difference as high as 30% jump. I didn't see a change in either version's time after giving the old version the same scripts and turning /remote off.

It's possible this is related to the issue I reported in the hashtable thread where I was seeing a 15% slowdown in beta 1438 comparted to 7.52-no-beta.


That 1438 beta was prior to the first changes related to FNV1a, and was having most of the slowdown I was seeing when comparing the no-beta vs the 1897 beta which had FNV1a.
Posted By: Khaled

Re: Increased overhead time - 03/12/18 10:49 PM

This is related to a combination of items 28 and 44, both of which required extra work relating to allocation and freeing of memory. Neither of these can be optimized further, so this is indeed a permanent change.
Posted By: Khaled

Re: Increased overhead time - 05/12/18 11:52 AM

I was able to track down why this was affecting if/while loops. The script parser was zeroing the entire string size of the comparison parameters at a specific point during repeated loops, which was not necessary. This was more noticable due to the increased string size in v7.53. I have changed it to just zero the first byte, so looping should now end up being a little bit faster than previous versions.
© 2019 mIRC Discussion Forums