THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
A place to collect ideas and observations about a re-write of the internals of UIMA to modernize it in several dimension.
These include
- Allowing more parallelism - e.g. running a pipeline with multiple independent Annotators working together in the same CAS
- Shifting the space / speed tradeoffs - the current design has ways to minimize the memory footprint, but is potentially slower than designs not so focussed on this
- Because of the relative speed of CPUs and Memory, much improved performance can be obtained by improving locality-of-reference (LOR); often done by duplicating things (taking more memory)
- Removing parts of UIMA not used (e.g., the CAS Data Object protocols and related things like the NetworkCasProcessorImpl
- Switching from custom implementations of various functions to more standard Java libraries implementation
- to reduce the code size
- to make it more maintainable
- to take advantage of core Java / core Library improvements going forward
- Handling backward compatibility - how much, how faithful, etc.
A prototype in this direction, called Cas-obj, has been offered in UIMA-4329
- analysis of Cas-obj