julia
27deafe0 - RFC: Allow a closure in various kinds of errors

Commit
6 years ago
RFC: Allow a closure in various kinds of errors One common theme when looking at inference logs is that formatting error messages tends to pull in the whole I/O and printing system which a) can take some time to infer and b) adds backedges if that stuff gets invalidated. Both seem wasteful. This is an attempt to try to improve the situation. For various error structs that used to contain a string, they now take either a String or a closure that will format the required string on demand when showing the error. I have some tooling to count the total number of methods that inference looks at and went through and switched over all the error messages that are used by *(::Matrix{Float64}, ::Matrix{Float64} to the new setup. Doing this reduces the total number of methods inference looks at by about 20%, which seems like a worthwhile improvement.
Author
Committer
Parents
Loading