OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project 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 "src/base/platform/time.h" | 5 #include "src/base/platform/time.h" |
6 | 6 |
7 #if V8_OS_MACOSX | 7 #if V8_OS_MACOSX |
8 #include <mach/mach_time.h> | 8 #include <mach/mach_time.h> |
9 #endif | 9 #endif |
10 #if V8_OS_POSIX | 10 #if V8_OS_POSIX |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 EXPECT_GE(normal_ticks, previous_normal_ticks); | 179 EXPECT_GE(normal_ticks, previous_normal_ticks); |
180 EXPECT_GE((normal_ticks - previous_normal_ticks).InMicroseconds(), 0); | 180 EXPECT_GE((normal_ticks - previous_normal_ticks).InMicroseconds(), 0); |
181 EXPECT_GE(highres_ticks, previous_highres_ticks); | 181 EXPECT_GE(highres_ticks, previous_highres_ticks); |
182 EXPECT_GE((highres_ticks - previous_highres_ticks).InMicroseconds(), 0); | 182 EXPECT_GE((highres_ticks - previous_highres_ticks).InMicroseconds(), 0); |
183 previous_normal_ticks = normal_ticks; | 183 previous_normal_ticks = normal_ticks; |
184 previous_highres_ticks = highres_ticks; | 184 previous_highres_ticks = highres_ticks; |
185 } | 185 } |
186 } | 186 } |
187 | 187 |
188 | 188 |
189 // Disable on windows until it is implemented. | |
190 #if V8_OS_ANDROID | 189 #if V8_OS_ANDROID |
191 #define MAYBE_ThreadNow DISABLED_ThreadNow | 190 #define MAYBE_ThreadNow DISABLED_ThreadNow |
192 #else | 191 #else |
193 #define MAYBE_ThreadNow ThreadNow | 192 #define MAYBE_ThreadNow ThreadNow |
194 #endif | 193 #endif |
195 TEST(ThreadTicks, MAYBE_ThreadNow) { | 194 TEST(ThreadTicks, MAYBE_ThreadNow) { |
196 if (ThreadTicks::IsSupported()) { | 195 if (ThreadTicks::IsSupported()) { |
| 196 ThreadTicks::WaitUntilInitialized(); |
197 TimeTicks begin = TimeTicks::Now(); | 197 TimeTicks begin = TimeTicks::Now(); |
198 ThreadTicks begin_thread = ThreadTicks::Now(); | 198 ThreadTicks begin_thread = ThreadTicks::Now(); |
199 // Make sure that ThreadNow value is non-zero. | 199 // Make sure that ThreadNow value is non-zero. |
200 EXPECT_GT(begin_thread, ThreadTicks()); | 200 EXPECT_GT(begin_thread, ThreadTicks()); |
201 // Sleep for 10 milliseconds to get the thread de-scheduled. | 201 // Sleep for 10 milliseconds to get the thread de-scheduled. |
202 OS::Sleep(base::TimeDelta::FromMilliseconds(10)); | 202 OS::Sleep(base::TimeDelta::FromMilliseconds(10)); |
203 ThreadTicks end_thread = ThreadTicks::Now(); | 203 ThreadTicks end_thread = ThreadTicks::Now(); |
204 TimeTicks end = TimeTicks::Now(); | 204 TimeTicks end = TimeTicks::Now(); |
205 TimeDelta delta = end - begin; | 205 TimeDelta delta = end - begin; |
206 TimeDelta delta_thread = end_thread - begin_thread; | 206 TimeDelta delta_thread = end_thread - begin_thread; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 // const int kMaxTime = 35; // Maximum acceptible milliseconds for test. | 252 // const int kMaxTime = 35; // Maximum acceptible milliseconds for test. |
253 // EXPECT_LT((stop - start).InMilliseconds(), kMaxTime); | 253 // EXPECT_LT((stop - start).InMilliseconds(), kMaxTime); |
254 printf("%s: %1.2fus per call\n", test_case.description, | 254 printf("%s: %1.2fus per call\n", test_case.description, |
255 (stop - start).InMillisecondsF() * 1000 / kLoops); | 255 (stop - start).InMillisecondsF() * 1000 / kLoops); |
256 } | 256 } |
257 } | 257 } |
258 #endif // V8_OS_WIN | 258 #endif // V8_OS_WIN |
259 | 259 |
260 } // namespace base | 260 } // namespace base |
261 } // namespace v8 | 261 } // namespace v8 |
OLD | NEW |