diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-11-18 18:56:30 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-11-18 18:56:30 +0000 |
commit | 0541ddc7e33c35a35efe85b6d6f603efb5bac8c8 (patch) | |
tree | 55d80aab366bdfe95cfd9a70f9ced5f03d955d6e /src/libmain/shared.cc | |
parent | 471749ca7eb594660488954d23391f5329d638a4 (diff) |
* Turn off synchronisation between C and C++ I/O functions. This
gives a huge speedup in operations that read or write from standard
input/output. (So libstdc++'s I/O isn't that bad, you just have to
call std::ios::sync_with_stdio(false).) For instance, `nix-store
--register-substitutes' went from 1.4 seconds to 0.1 seconds on a
certain input. Another victory for Valgrind.
Diffstat (limited to 'src/libmain/shared.cc')
-rw-r--r-- | src/libmain/shared.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 00e197499..d135691a1 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -225,6 +225,8 @@ int main(int argc, char * * argv) std::cerr.rdbuf()->pubsetbuf(buf, sizeof(buf)); #endif + std::ios::sync_with_stdio(false); + try { try { initAndRun(argc, argv); |