Zserio v2.10.0
The main goal of this release is to publish the following significant performance improvements for Python and C++:
- Optimization of pure Python reading performance
- Possibility of usage
BitStreamReader
andBitStreamWriter
C++ implementations in Python runtime - Optimization of C++ reading performance
- Optimization of byte aligned reading and writing for
string
andbytes
types in C++, Java and Python runtime libraries
This release contains as well new Zserio benchmarks together with Protobuf benchmarks by Zserio.
The release contains the following improvement in generated code:
- Adding of non-explicit empty constructor in generated C++ code
Potential API incompatibilities with previous version:
- Deprecated Java runtime class
ZserioIO
has been removed - Deprecated Java runtime classes
FileBitStreamReader
andFileBitStreamWriter
have been removed - Deprecated Java
File
constructor has been removed from the generated code - Deprecated Java
write
function toFile
has been removed from the generated code
Improvements
#459 - Introduce non-explicit empty constructor in C++
#460 - Java: Remove deprecated file write and read methods from generated code
#461 - Java: Remove deprecated ZserioIO class from runtime
#462 - Improve error message when using template with wrong number of arguments
#466 - Optimize pure Python performance
#468 - No difference between explicit and implicit (auto-) values of enum members
#469 - Consider to use C++ implementation in Python runtime
#472 - Extended GitHub Actions configuration needed
#474 - Support Python 3.11 in Zserio build
#478 - Optimize C++ parsing performance
#480 - Extend Zserio benchmarks
#483 - Improve byte aligned reading for strings and bytes