Optimize binding functions

Description

A problem was introduced as a side-effect HPCC-8842.

That added an internal attribute onto all modules - including modules which were the results of function calls. When the functions were expanded the unique attribute was included in the signature of the call - meaning calls with the same parameters weren't commoned up.

Also there is the chance to optimize local functions that have no parameters - since they will contain unbound expressions, but will always expand to the body.

Finally, adding an analyse pass which tags whether or not an expression actually will be transformed could speed up local function rebinding.

Conclusion

None

Activity

Show:

Gavin Halliday November 7, 2014 at 2:20 PM

NOTE: This doesn't change any of the generated code, it just affects whether the call expansion gets cached or not. On a few queries this transformation is significant.

Gavin Halliday October 24, 2014 at 2:20 PM

Assigning as major because I think it is causing significant slow down on some of our systems.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Pull Request URL

Created October 24, 2014 at 2:19 PM
Updated November 7, 2014 at 3:14 PM
Resolved November 7, 2014 at 3:14 PM