cain
v1.1
Performance update
After profiling extensively1 and using cain
at a larger scale for a while (see translatepy@next
for more information), this is an update bringing better performance in decoding using the cain
data format. (this was enough to be able to see a 1.5~2x performance improvements during decoding)
New
- Added an
Enum
datatype
Updates
- Adding examples in datatypes docstring
- Using
Datatype._cain_value
instead ofDatatype.
to avoid conflicting attributes - Using
Datatype.__root__
instead ofDatatype.origin
to avoid conflicting attributes - Speeding up annotations parsing (introducing
DatatypeMeta.__type_hints__
) - Using the current
Object
instead of the built-indict
for the decoding result - Other minor performance improvements
Everything is detailed in the README.md
file
A comparison from the previous release can be found here v1...v1.1
A comparison from the current branch can be found here v1.1...main
🍡 Animenosekai
-
Profiled using tools:
cProfile
,pyinstrument
andline_profiler
↩