diff --git a/runtime/bin/run_vm_tests.cc b/runtime/bin/run_vm_tests.cc index 586d6d46541..213d446b405 100644 --- a/runtime/bin/run_vm_tests.cc +++ b/runtime/bin/run_vm_tests.cc @@ -47,7 +47,8 @@ void Benchmark::RunBenchmark() { if ((run_filter == kAllBenchmarks) || (strcmp(run_filter, this->name()) == 0)) { this->Run(); - OS::Print("%s(RunTime): %" Pd "\n", this->name(), this->score()); + OS::Print("%s(%s): %" Pd "\n", + this->name(), this->score_kind(), this->score()); run_matches++; } else if (run_filter == kList) { fprintf(stdout, "%s\n", this->name()); diff --git a/runtime/vm/benchmark_test.cc b/runtime/vm/benchmark_test.cc index 9bdb9763ba9..4f51a6994d5 100644 --- a/runtime/vm/benchmark_test.cc +++ b/runtime/vm/benchmark_test.cc @@ -394,7 +394,7 @@ static uint8_t* malloc_allocator( } -BENCHMARK(CoreSnapshotSize) { +BENCHMARK_SIZE(CoreSnapshotSize) { const char* kScriptChars = "import 'dart:async';\n" "import 'dart:core';\n" @@ -422,7 +422,7 @@ BENCHMARK(CoreSnapshotSize) { } -BENCHMARK(StandaloneSnapshotSize) { +BENCHMARK_SIZE(StandaloneSnapshotSize) { const char* kScriptChars = "import 'dart:async';\n" "import 'dart:core';\n" diff --git a/runtime/vm/benchmark_test.h b/runtime/vm/benchmark_test.h index 0ff69ce5d48..25371514cb1 100644 --- a/runtime/vm/benchmark_test.h +++ b/runtime/vm/benchmark_test.h @@ -25,11 +25,11 @@ namespace bin { extern const uint8_t* snapshot_buffer; } -// The BENCHMARK macro is used for benchmarking a specific functionality -// of the VM -#define BENCHMARK(name) \ +// The BENCHMARK macros are used for benchmarking a specific functionality +// of the VM. +#define BENCHMARK_HELPER(name, kind) \ void Dart_Benchmark##name(Benchmark* benchmark); \ - static Benchmark kRegister##name(Dart_Benchmark##name, #name); \ + static Benchmark kRegister##name(Dart_Benchmark##name, #name, kind); \ static void Dart_BenchmarkHelper##name(Benchmark* benchmark); \ void Dart_Benchmark##name(Benchmark* benchmark) { \ FLAG_heap_growth_space_ratio = 100; \ @@ -40,6 +40,9 @@ extern const uint8_t* snapshot_buffer; } \ static void Dart_BenchmarkHelper##name(Benchmark* benchmark) +#define BENCHMARK(name) BENCHMARK_HELPER(name, "RunTime") +#define BENCHMARK_SIZE(name) BENCHMARK_HELPER(name, "CodeSize") + inline Dart_Handle NewString(const char* str) { return Dart_NewStringFromCString(str); @@ -50,9 +53,10 @@ class Benchmark { public: typedef void (RunEntry)(Benchmark* benchmark); - Benchmark(RunEntry* run, const char* name) : + Benchmark(RunEntry* run, const char* name, const char* score_kind) : run_(run), name_(name), + score_kind_(score_kind), score_(0), isolate_(NULL), next_(NULL) { @@ -66,6 +70,7 @@ class Benchmark { // Accessors. const char* name() const { return name_; } + const char* score_kind() const { return score_kind_; } void set_score(intptr_t value) { score_ = value; } intptr_t score() const { return score_; } Isolate* isolate() const { return reinterpret_cast(isolate_); } @@ -92,6 +97,7 @@ class Benchmark { RunEntry* const run_; const char* name_; + const char* score_kind_; intptr_t score_; Dart_Isolate isolate_; Benchmark* next_;