| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "mojo/public/cpp/test_support/test_utils.h" | 5 #include "mojo/public/cpp/test_support/test_utils.h" |
| 6 | 6 |
| 7 #include "mojo/public/cpp/system/core.h" | 7 #include "mojo/public/cpp/system/core.h" |
| 8 #include "mojo/public/cpp/test_support/test_support.h" | 8 #include "mojo/public/cpp/test_support/test_support.h" |
| 9 | 9 |
| 10 namespace mojo { | 10 namespace mojo { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 MojoResult rv = ReadMessageRaw(handle, | 62 MojoResult rv = ReadMessageRaw(handle, |
| 63 nullptr, | 63 nullptr, |
| 64 nullptr, | 64 nullptr, |
| 65 nullptr, | 65 nullptr, |
| 66 nullptr, | 66 nullptr, |
| 67 MOJO_READ_MESSAGE_FLAG_MAY_DISCARD); | 67 MOJO_READ_MESSAGE_FLAG_MAY_DISCARD); |
| 68 return rv == MOJO_RESULT_OK; | 68 return rv == MOJO_RESULT_OK; |
| 69 } | 69 } |
| 70 | 70 |
| 71 void IterateAndReportPerf(const char* test_name, | 71 void IterateAndReportPerf(const char* test_name, |
| 72 const char* sub_test_name, |
| 72 PerfTestSingleIteration single_iteration, | 73 PerfTestSingleIteration single_iteration, |
| 73 void* closure) { | 74 void* closure) { |
| 74 // TODO(vtl): These should be specifiable using command-line flags. | 75 // TODO(vtl): These should be specifiable using command-line flags. |
| 75 static const size_t kGranularity = 100; | 76 static const size_t kGranularity = 100; |
| 76 static const MojoTimeTicks kPerftestTimeMicroseconds = 3 * 1000000; | 77 static const MojoTimeTicks kPerftestTimeMicroseconds = 3 * 1000000; |
| 77 | 78 |
| 78 const MojoTimeTicks start_time = GetTimeTicksNow(); | 79 const MojoTimeTicks start_time = GetTimeTicksNow(); |
| 79 MojoTimeTicks end_time; | 80 MojoTimeTicks end_time; |
| 80 size_t iterations = 0; | 81 size_t iterations = 0; |
| 81 do { | 82 do { |
| 82 for (size_t i = 0; i < kGranularity; i++) | 83 for (size_t i = 0; i < kGranularity; i++) |
| 83 (*single_iteration)(closure); | 84 (*single_iteration)(closure); |
| 84 iterations += kGranularity; | 85 iterations += kGranularity; |
| 85 | 86 |
| 86 end_time = GetTimeTicksNow(); | 87 end_time = GetTimeTicksNow(); |
| 87 } while (end_time - start_time < kPerftestTimeMicroseconds); | 88 } while (end_time - start_time < kPerftestTimeMicroseconds); |
| 88 | 89 |
| 89 MojoTestSupportLogPerfResult(test_name, | 90 MojoTestSupportLogPerfResult(test_name, sub_test_name, |
| 90 1000000.0 * iterations / (end_time - start_time), | 91 1000000.0 * iterations / (end_time - start_time), |
| 91 "iterations/second"); | 92 "iterations/second"); |
| 92 } | 93 } |
| 93 | 94 |
| 94 } // namespace test | 95 } // namespace test |
| 95 } // namespace mojo | 96 } // namespace mojo |
| OLD | NEW |