tree: 74ee557a6b8325ea2e3f2833cf511558b20a80e7 [path history] [tgz]
  1. bin/
  2. datasets/
  3. lib/
  4. protos/
  5. tool/
  6. mono_pkg.yaml
  7. protoc_version
  8. pubspec.yaml
  9. README.md
benchmarks/README.md

Running benchmarks

  • Compile protos with ./tool/compile_protos.sh

  • JIT: Run benchmark programs in bin/, e.g. dart bin/from_binary.dart

  • AOT and JS:

    • Compile benchmark programs to native, JS, and JIT snapshots with ./tool/compile_benchmarks.dart

    • Run benchmark programs in out/:

      • AOT: ./out/from_binary.exe
      • JS: d8 $DART_SDK/lib/_internal/js_runtime/lib/preambles/d8.js out/from_binary.js
  • Wasm:

    • Get the Dart SDK source code following instructions here, and build dart2wasm_platform target with tools/build.py -m release dart2wasm_platform.

    • Make sure $DART_SDK environment variable set to the path of Dart SDK's “sdk” directory.

    • Compile benchmarks with ./tool/compile_benchmarks.dart --target=<target> where <target> is one of:

      • wasm: Default optimized build
      • wasm-omit-checks: Optimized build with --omit-checks
    • Run with: $DART_SDK/bin/run_dart2wasm_d8 out/from_binary.wasm, or use .omit-checks.wasm extension for the wasm-omit-checks target: from_binary.omit-checks.wasm.

Development

protoc_version file specifies the version of protoc Golem will use when building the benchmarks, and allows updating the protoc version without changing Golem.