← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/feature-function-caching into lp:zorba

 

The proposal to merge lp:~zorba-coders/zorba/feature-function-caching into lp:zorba has been updated.

Description changed to:

Greatly improved function caching.

* Changed function annotations:
  - %an:deterministic: disables caching (previously %an:no-cache)
  - %an:strictlydeterministic: enables caching for deterministic and non-deterministic functions. Cache is only within the same snapshot.
  - %an:cache enables caching  for deterministic, non-deterministic and sequential functions. Caches is across snapshots. (unchanged)
  - %an:exclude-from-cache-key(n) specifies that a function argument has to be ignored when computing the cache key
  - %an:compare-with-deep-equal(n) specifies that a function argument has to be compared with deep-equal semantics
  
* Changed criteria for default annotations of internal and external functions:
  - Functions which have no %an:deterministic, %an:nondeterministic or %an:strictlydeterministic annotations and all their parameter and the return types are atomics are now automatically annotated %an:strictlydeterministic
  - All the other functions are annotated %an:deterministic
* Added snapshot id in global dynamic context
* Added dynamic context xquery module
* Added strict equality hashmap
* Reimplemented %an:cache
* Enabled caching for function that have non atomic arguments
* Whenever the eager evaluation of a function arguments raises an error, the evaluation is retried without cache. The function cache is then disabled if it was automatically detected.

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/feature-function-caching/+merge/217487
-- 
https://code.launchpad.net/~zorba-coders/zorba/feature-function-caching/+merge/217487
Your team Zorba Coders is subscribed to branch lp:zorba.