Remove a closure in `_FieldSet.hashCode` (#633)

* Remove a closure in `_FieldSet.hashCode`

Improves HashCode benchmark up to 3%.

JIT before:

    HashCode(RunTime): 1981.9821782178217 us.
    HashCode(RunTime): 1974.7068114511353 us.
    HashCode(RunTime): 1970.9261083743843 us.

JIT after:

    HashCode(RunTime): 1899.034155597723 us.
    HashCode(RunTime): 1912.0917782026768 us.
    HashCode(RunTime): 1908.1782650142993 us.

Native AOT before:

    HashCode(RunTime): 5164.038659793814 us.
    HashCode(RunTime): 5177.984496124031 us.
    HashCode(RunTime): 5192.199481865285 us.

Native AOT after:

    HashCode(RunTime): 5027.246231155779 us.
    HashCode(RunTime): 5045.488664987405 us.
    HashCode(RunTime): 5134.379487179487 us.

JS before:

    HashCode(RunTime): 6944.444444444444 us.
    HashCode(RunTime): 6913.793103448276 us.
    HashCode(RunTime): 6927.335640138408 us.

JS after:

    HashCode(RunTime): 6846.41638225256 us.
    HashCode(RunTime): 6965.277777777777 us.
    HashCode(RunTime): 6920.415224913495 us.

Fixes #632
1 file changed
tree: 0d4337d9c2f4be8675126fb14e1a978607e69dec
  1. .github/
  2. api_benchmark/
  3. protobuf/
  4. protoc_plugin/
  5. query_benchmark/
  6. tool/
  7. .gitignore
  8. analysis_options.yaml
  9. mono_repo.yaml
  10. README.md
README.md

Protobuf support for Dart

CI status pub package

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. It contains: