Release Notes
Version Mapping
Product Version
OS, Compiler, and CPU
| OS | CPU | Compiler |
|---|---|---|
| openEuler 22.03 LTS SP3 openEuler 24.03 LTS SP3 |
Kunpeng 950 | Clang 16.0.6 GCC 12.3.1 |
Version Updates
V1.0.1
New Features
| Feature | Change Description |
|---|---|
| Map and StringBlock parsing optimization | Reduces the number of memory reallocations during parsing by predicting the number of consecutive elements (lookahead) and pre-allocating capacity. For Map fields, InsertNodeWithoutResizeCheck is used to skip redundant capacity expansion checks. For Repeated String fields, AppendString is introduced to replace ReadString, and the StringBlock TLS cache is enabled to lower memory allocation overhead. |
C++23 resize_and_overwrite support |
Uses the C++23 standard resize_and_overwrite method in AppendPartialToString to avoid unnecessary zero-initialization, thereby improving serialization performance. This feature is automatically enabled when supported by the compiler. |
V1.0.0
New Features
| Feature | Change Description |
|---|---|
| Added varint encoding and decoding optimization. | Optimized the varint encoding and decoding paths in coded_stream.h and parse_context.h by loop unrolling and vectorization, to improve the performance of packed array encoding and decoding. |
Related Documentation
V1.0.1 Documentation
Obtaining Documentation
Visit the open-source repository to view or download related documents.