Avoid allocating temporary views in when decoding strings in `CodedBufferReader` (#888)

Benchmark results from the same internal benchmark reported in previous PRs/commits:

|                              | Before     | After      | Diff                |
|------------------------------|------------|------------|---------------------|
| AOT                          |  31,025 us |  27,597 us | - 3,428 us, -11.0%  |
| JIT                          |  34,829 us |  26,846 us | - 7,983 us, -22.9%  |
| dart2js -O4                  | 300,571 us | 248,300 us | -52,271 us, -17.3%  |
| dart2wasm --omit-type-checks | 130,812 us | 107,850 us | -22,962 us, -17.5%  |
3 files changed
tree: 9af725f20ac366c198d9ccc7c045a95fd4e21c83
  1. .github/
  2. api_benchmark/
  3. benchmarks/
  4. protobuf/
  5. protoc_plugin/
  6. tool/
  7. .gitignore
  8. analysis_options.yaml
  9. AUTHORS
  10. LICENSE
  11. mono_repo.yaml
  12. README.md
README.md

CI status

Protobuf support for Dart

Protocol Buffers (protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

This repository is home to packages related to protobuf for Dart.

PackageDescriptionPublished Version
protobufA support library for the generated codepub package
protoc_pluginA Dart back-end for the protoc compilerpub package
api_benchmarkBenchmarking for various API calls
query_benchmarkBenchmark for encoding and decoding of a “real-world” protobuf

Publishing automation

For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.