diff options
-rw-r--r-- | README.md | 20 |
1 files changed, 9 insertions, 11 deletions
@@ -143,21 +143,19 @@ Advice to distributors A note on compiler flags: Mosh is security-sensitive code. When making automated builds for a binary package, we recommend passing the option `--enable-compile-warnings=error` to ./configure. On GNU/Linux with -gcc and a system boost, the package should compile cleanly with --Werror. Please report a bug if it doesn't. +g++ or clang++, the package should compile cleanly with +`-Werror`. Please report a bug if it doesn't. Mosh ships with a default optimization setting of `-O2`. Some distributors have asked about changing this to `-Os` (which causes a compiler to prefer space optimizations to time optimization). We have -benchmarked mosh with g++ 4.6 and clang++ 2.9 to see if `-Os` might be -preferable. In both cases, -Os did produce a smaller binary (by up to -40%, saving a few hundred kilobytes), but at a considerable cost to -mosh's performance -- about 28-31% for both compilers, or similar to a -typical net benefit from enabling optimization. While Mosh is not -especially CPU intensive and mostly sits idle when the user is not -typing, our recommendation to distributors would be to stay with the -default of `-O2` unless saving space on disk is particularly -important. +benchmarked with the included `src/examples/benchmark` program to test +this. The results are that `-O2` is 40% faster than `-Os` with g++ 4.6 +on GNU/Linux, and 16% faster than `-Os` with clang++ 3.1 on Mac OS +X. In both cases, `-Os` did produce a smaller binary (by up to 40%, +saving almost 200 kilobytes on disk). While Mosh is not especially CPU +intensive and mostly sits idle when the user is not typing, we think +the results suggest that `-O2` (the default) is preferable. More info --------- |