Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(364)

Unified Diff: Source/build/win/Precompile-core.h

Issue 1178823003: Precompile Document.h and LayoutObject.h for Source/web Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/build/win/Precompile-core.cpp » ('j') | Source/web/tests/WebUnitTests.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/build/win/Precompile-core.h
diff --git a/Source/build/win/Precompile-core.h b/Source/build/win/Precompile-core.h
new file mode 100644
index 0000000000000000000000000000000000000000..dd6a5766f385a359727a0fcbfbf1a8fc7c632004
--- /dev/null
+++ b/Source/build/win/Precompile-core.h
@@ -0,0 +1,53 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/*
+ * Precompiled header for WebKit when built on Windows using
+ * GYP-generated project files. Not used by other build
+ * configurations.
+ *
+ * Using precompiled headers speeds the build up significantly. On a
+ * fast machine (HP Z600, 12 GB of RAM), an ~18% decrease in full
+ * build time was measured with only the stdlib headers added. More
+ * with the Blink specific headers.
+ */
+
+#if defined(PrecompileCore_h_)
+#error You shouldn't include the precompiled header file more than once.
+#endif
+
+#define PrecompileCore_h_
+
+#define _USE_MATH_DEFINES // Make math.h behave on Windows as on other platforms.
+
+#include <Windows.h>
+
+#include <algorithm>
+#include <ciso646>
+#include <cmath>
+#include <cstddef>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <limits>
+#include <math.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <string>
+#include <time.h>
+#include <utility>
+
+// In Blink a lot of operations center around dom and Document, or around
+// layout/rendering and LayoutObject. Those two headers are in turn pulling
+// in large parts of Blink's other headers which means that every compilation
+// unit is compiling large parts of Blink. By precompiling Document.h and
+// LayoutObject.h we only have to compile those parts once rather than
+// 1500 times. It can make a large difference in compilation times.
+// config.h contains some base macros that headers can expect are present.
+#include "config.h"
+#include "core/dom/Document.h"
+#include "core/layout/LayoutObject.h"
« no previous file with comments | « no previous file | Source/build/win/Precompile-core.cpp » ('j') | Source/web/tests/WebUnitTests.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698