separate out benchmark into 4 stages: create, serialize, deserialize, hash (#154)

As mentioned in https://github.com/dart-lang/macros/pull/153. This gives us a better overall picture of where time is going, in the various modes.

Current results:
```
        SdkMapsJsonWireBenchmark-create:  904ms
      SdkMapsBufferWireBenchmark-create:  711ms
     SdkMapsBuilderWireBenchmark-create:  713ms
       LazyMapsJsonWireBenchmark-create:    0ms
     LazyMapsBufferWireBenchmark-create:    0ms
 LazyWrappersBufferWireBenchmark-create:  420ms
    BuilderMapsJsonWireBenchmark-create:  374ms
 BuilderMapsBuilderWireBenchmark-create:  379ms
        SdkMapsJsonWireBenchmark-serialize:  746ms, 7177227 bytes
      SdkMapsBufferWireBenchmark-serialize:  633ms, 5122684 bytes
     SdkMapsBuilderWireBenchmark-serialize:  667ms, 4859868 bytes
       LazyMapsJsonWireBenchmark-serialize: 1104ms, 7177227 bytes
     LazyMapsBufferWireBenchmark-serialize:  543ms, 5122684 bytes
 LazyWrappersBufferWireBenchmark-serialize:    0ms, 2111761 bytes
    BuilderMapsJsonWireBenchmark-serialize: 1028ms, 7177227 bytes
 BuilderMapsBuilderWireBenchmark-serialize:    0ms, 2111761 bytes
        SdkMapsJsonWireBenchmark-deserialize: 1249ms
      SdkMapsBufferWireBenchmark-deserialize:    0ms
     SdkMapsBuilderWireBenchmark-deserialize:    0ms
       LazyMapsJsonWireBenchmark-deserialize: 1298ms
     LazyMapsBufferWireBenchmark-deserialize:    0ms
 LazyWrappersBufferWireBenchmark-deserialize:    0ms
    BuilderMapsJsonWireBenchmark-deserialize: 1257ms
 BuilderMapsBuilderWireBenchmark-deserialize:    0ms
        SdkMapsJsonWireBenchmark-process:  151ms, hash 23186292
      SdkMapsBufferWireBenchmark-process:  249ms, hash 23186292
     SdkMapsBuilderWireBenchmark-process:  541ms, hash 23186292
       LazyMapsJsonWireBenchmark-process:  179ms, hash 23186292
     LazyMapsBufferWireBenchmark-process:  251ms, hash 23186292
 LazyWrappersBufferWireBenchmark-process:  367ms, hash 23186292
    BuilderMapsJsonWireBenchmark-process:  207ms, hash 23186292
 BuilderMapsBuilderWireBenchmark-process:  364ms, hash 23186292
        SdkMapsJsonWireBenchmark-total: 3050ms
      SdkMapsBufferWireBenchmark-total: 1593ms
     SdkMapsBuilderWireBenchmark-total: 1921ms
       LazyMapsJsonWireBenchmark-total: 2581ms
     LazyMapsBufferWireBenchmark-total:  794ms
 LazyWrappersBufferWireBenchmark-total:  787ms
    BuilderMapsJsonWireBenchmark-total: 2866ms
 BuilderMapsBuilderWireBenchmark-total:  743ms
```
11 files changed
tree: 312021024294e7f4aafbec551640f40ef46f47cc
  1. .github/
  2. goldens/
  3. pkgs/
  4. schemas/
  5. tool/
  6. .gitattributes
  7. .gitignore
  8. CONTRIBUTING.md
  9. LICENSE
  10. mono_repo.yaml
  11. pubspec.yaml
  12. README.md
README.md

Overview

This repository is home to various macro related Dart packages.

Packages

PackageDescriptionVersion
_analyzer_macrosMacro support for the analyzer.
_cfe_macrosMacro support for the CFE.
_macro_builderBuilds macros.
_macro_clientConnects user macro code to a macro host.
_macro_hostHosts macros.
_macro_runnerRuns macros.
_macro_serverServes a macro_service.
_test_macrosSome test macros.
dart_modelData model for information about Dart code, queries about Dart code and augmentations to Dart code. Serializable with a versioned JSON schema for use by macros, generators and other tools.pub package
macroFor implementing a macro.pub package
macro_serviceMacro communication with the macro host.pub package
generate_dart_model

Publishing automation

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

For additional information about contributing, see our contributing page.