I just finished a big PR in DataFramesMeta to try and reduce latency.
Given an expression of the form
we make an anonymous function
This carries a compilation cost of creating the anonymous function. So my PR made an optimization where if it saw f(:x, :y) it would just return f, since it's the same as the anonymous function above.
But more other expressions are still problematic. Consider
This will always have to turn into
for purposes of the src => fun => dest syntax in DataFrames.
It looks like this package will let me cash :(x -> x + 1) so that the anonymous function of that form is only compiled once, and later calls are taken from a lookup. Is that correct?
If so, DataFramesMeta seems like a good application of this package.
I just finished a big PR in DataFramesMeta to try and reduce latency.
Given an expression of the form
we make an anonymous function
This carries a compilation cost of creating the anonymous function. So my PR made an optimization where if it saw
f(:x, :y)it would just returnf, since it's the same as the anonymous function above.But more other expressions are still problematic. Consider
This will always have to turn into
for purposes of the
src => fun => destsyntax in DataFrames.It looks like this package will let me cash
:(x -> x + 1)so that the anonymous function of that form is only compiled once, and later calls are taken from a lookup. Is that correct?If so, DataFramesMeta seems like a good application of this package.