tree: 6a354dd144e797a55134415ffdcdac11f3a2a15f [path history] [tgz]
  1. .gitignore
  2. benchmark_data.tar.gz.sha1
  3. dart2js_benchmark.dart
  4. dart2js_benchmark_test.dart
  5. dill_hierarchy_test.dart
  6. fasta_legacy_upper_bound_test.dart
  7. fasta_types_test.dart
  8. hashcode_test.dart
  9. kernel_legacy_upper_bound_test.dart
  10. kernel_type_parser_test.dart
  11. large_app_benchmark.dart
  12. large_app_benchmark_test.dart
  13. legacy_upper_bound_helper.dart
  14. README.md
  15. shared_type_tests.dart
  16. subtypes_benchmark.dart
pkg/front_end/test/fasta/types/README.md

Type Relation Test and Benchmarks

This directory contains tests and benchmarks of type relations, for example, isSubtypeOf.

Create or Update Benchmark Data

To collect new data for a benchmark, follow these steps:

  1. Identify the program that the benchmark is based on, for example, pkg/compiler/bin/dart2js.dart.

  2. Modify pkg/kernel/lib/type_environment.dart as described in the method SubtypeTester._collect_isSubtypeOf.

  3. Compile the program using Fasta, for example:

    ./sdk/bin/dart pkg/front_end/tool/_fasta/compile.dart pkg/compiler/bin/dart2js.dart

  4. This produces a file named type_checks.json in the current directory.

  5. Compress the file using gzip.