seamless
seamless copied to clipboard
Non-caching transformer pins / direct_print_ cache misses in compiled transformers
Currently, Transformer.debug.direct_print is passed on to the executor of compiled transformers. This causes direct_print to become part of the transformation, leading to cache misses. Python, bash and bashdocker transformers are unaffected.
The solution is to designate some pins as "special pins" that are not part of the transformation, but that are passed along with the transformation when local execution takes place. Probably, "special pins" are designated by all-capital names. Implementation requires:
- changing the source code of the compiled executor to use DEBUG_PRINT instead of debug_print_. This will invalidate all cached transformations in databases.
- Hacking the transformation machinery to accommodate special pins.
For the next release (0.10).
must fix #152 at the same time
close with commit bb3d668c and commit e87ed2dc49c3f and commit 112a7fa48e2e542