Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Implement script level cache #403
Program flow is like:
Speed improvement is achieved by making processModule cache anything( scripts, predefs, imports including $ivy and $file,etc.) it processes at script level( at block level it already gets) and tries to retrieve from cache next time it is asked to process same code.
Process Module checks if the script is available in cacheFolder i.e.
If script is found in cache,
The final imports are returned by processModule function whether evaled or loaded from cache, thus processModule is opaque from outside whether cache HIT or MISS, it behaves in exactly same way in return as well as side effects except cache save.
Great that you got tests passing!
Some high level feedback:
That's the high-level review; your code looks great. Leaving some other feedback in-line. Now that you've got this working and tests passing, let's iterate on this diff until it's great!
The unit tests aren't testing the right thing. Our goal isn't to get the
Realistically, what you should do is:
Looks like we're not done yet.
You are missing two sets of unit tests, given the potential failures I am seeing in your code: