aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-06-24 20:51:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-06-24 20:51:05 +0200
commitbab9b33c490a9f21db9c994a619a93ad01ceb48e (patch)
treea8a520d9c0b87ad480b563252c55f9ff3aafffb1
parent8323c9c8dab8416359d91f83d4e9c2aee78e2342 (diff)
Document wineserver voodoo dance
-rw-r--r--INSTALL39
1 files changed, 36 insertions, 3 deletions
diff --git a/INSTALL b/INSTALL
index d3359ab..38b51b4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -165,7 +165,40 @@ following line to your .bashrc or similar:
export WINEDEBUG=fixme-all
-Keeping wineserver running seems to help with performance (especially
-for /E and /EP modes for some reason):
-
+Certain executions of the cl compiler (e.g., /EP /showIncludes) are very
+slow unless wineserver is started and a special voodoo dance is performed:
+
+# Kill existing Wine processes if any.
+#
+$ pkill wineserver
+$ pkill .exe
+
+# Verify no Wine processes are running.
+#
+$ pgrep wineserver
+$ pgrep .exe
+
+# Prepare test file.
+#
+cat > test.cpp
+#include <iostream>
+^D
+
+# Get time without wineserver.
+#
+$ time cl-NN /EP /showIncludes test.cpp >/dev/null
+
+# Start wineserver.
+#
$ wineserver -p
+$ pgrep wineserver
+
+# The voodoo part: the first execution after starting wineserver will
+# hang, but all subsequent ones should be much faster.
+#
+$ cl-NN /EP /showIncludes test.cpp >/dev/null
+^C
+
+# Get time with wineserver.
+#
+$ time cl-NN /EP /showIncludes test.cpp >/dev/null