You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is not a bug report but some kind of "question".
Assume this code here:
FunctionForLoop()
Local res:intLocal t:Int= Millisecs()
ForLocal x:int=0to10000ForLocal y:int=0to10000
res :+1NextNext
print "ForLoop took "+ (Millisecs()-t) +" ms."End Function
As you see - each statement is prepended by a bbOnDebugEnterStm (no ...leave needed) and that function does not start/stop the GC.
But the EnterScope and LeaveScope-functions do.
Could there be a more "smart" approach (I know "smart" often means "more error prone" :D) to avoid affecting the GC so much?
Maybe doing some "nesting" (each "enterscope" increases a value, each "leavescope" decreases a value) with the GC only being enabled/disabled on "level 0" ?
Dunno about "deeply nested" stuff (where a lot memory is "allocated/freed" - with the GC being disabled).
Maybe you have other ideas -- maybe the GC-enable/disable is not needed at all?
The text was updated successfully, but these errors were encountered:
This is not a bug report but some kind of "question".
Assume this code here:
This results (for debug builds) in this c code:
(adding
nodebug
or doing a release build becomes:)As you see - each statement is prepended by a
bbOnDebugEnterStm
(no ...leave needed) and that function does not start/stop the GC.But the EnterScope and LeaveScope-functions do.
Could there be a more "smart" approach (I know "smart" often means "more error prone" :D) to avoid affecting the GC so much?
Maybe doing some "nesting" (each "enterscope" increases a value, each "leavescope" decreases a value) with the GC only being enabled/disabled on "level 0" ?
Dunno about "deeply nested" stuff (where a lot memory is "allocated/freed" - with the GC being disabled).
Maybe you have other ideas -- maybe the GC-enable/disable is not needed at all?
The text was updated successfully, but these errors were encountered: