View Issue Details

IDProjectCategoryView StatusLast Update
0026333RunnerFunctionsPublic2017-08-03 17:00
ReporterYellowAfterlifeAssigned ToPeter Hall 
PriorityLowSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
PlatformWindowsOSWindows 8OS Version8.1
Product Version 
Target VersionFixed in Version 
Summary0026333: [Functions] variable_instance_ functions are slower than they could be
DescriptionIt was suggested that they could potentially be picking through all instance variables linearly (O(n)) instead of using hashtable like regular variable access does.

The difference between direct access and variable_ functions is 3x on VM and 10x on YYC.

A custom access function (based on a lookup ds_map with scripts) very slightly outperforms variable_ functions on VM and by 1.5x on YYC, suggesting that optimizations are possible.
1.4 Found In7.7.1438
2.x Runtime Found In2.0.5.49
2.x Runtime Verified In



2017-04-28 09:07


var_access.gmz (21,419 bytes)

Peter Hall

2017-05-02 09:35


screenshot.223.jpg (54,581 bytes)
screenshot.223.jpg (54,581 bytes)

Peter Hall

2017-05-02 09:52

Developer   ~0052971

Attached screenshot post optimizations; we're not going to get a /lot/ quicker than this for now since there is extra work being done through these functions, but I think this is a pretty good speed-up for now.

Peter Hall

2017-05-02 11:21

Developer   ~0052978

- commit above should optimize variable_instance functions significantly
- will be in red build 7.7.1446 or above