Skip to content

v1.1

Latest
Compare
Choose a tag to compare
@Animenosekai Animenosekai released this 15 Aug 17:06
· 15 commits to main since this release

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 of Datatype. to avoid conflicting attributes
  • Using Datatype.__root__ instead of Datatype.origin to avoid conflicting attributes
  • Speeding up annotations parsing (introducing DatatypeMeta.__type_hints__)
  • Using the current Object instead of the built-in dict 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

  1. Profiled using tools: cProfile, pyinstrument and line_profiler