Index: components/startup_metric_utils/browser/startup_metric_utils.cc |
diff --git a/components/startup_metric_utils/browser/startup_metric_utils.cc b/components/startup_metric_utils/browser/startup_metric_utils.cc |
index f0d415444a9b3b558ebf3605860896e5c2ed9920..b2852722466a28b7b95408af5bf24439a9205242 100644 |
--- a/components/startup_metric_utils/browser/startup_metric_utils.cc |
+++ b/components/startup_metric_utils/browser/startup_metric_utils.cc |
@@ -316,6 +316,9 @@ |
// bumping the priority reduces the likelihood of a context switch interfering |
// with this computation. |
+// Enabling this logic on OS X causes a significant performance regression. |
+// https://crbug.com/601270 |
+#if !defined(OS_MACOSX) |
static bool statics_initialized = false; |
base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL; |
@@ -324,14 +327,17 @@ |
base::PlatformThread::SetCurrentThreadPriority( |
base::ThreadPriority::DISPLAY); |
} |
+#endif |
static const base::Time time_base = base::Time::Now(); |
static const base::TimeTicks trace_ticks_base = base::TimeTicks::Now(); |
+#if !defined(OS_MACOSX) |
if (!statics_initialized) { |
base::PlatformThread::SetCurrentThreadPriority(previous_priority); |
} |
statics_initialized = true; |
+#endif |
// Then use the TimeDelta common ground between the two units to make the |
// conversion. |