Skip to content
Permalink
Browse files

Update URLs in README.

  • Loading branch information
yrnkrn committed Dec 20, 2019
1 parent 09cb4f0 commit 51132ba4029e09aa2faa400b7ca09c5b9f618877
Showing with 17 additions and 14 deletions.
  1. +17 −14 README.md
@@ -67,43 +67,46 @@ To kill the zapccs server to free memory or replace with newly-built zapcc
### What is the typical acceleration of Zapcc?

Full builds are 2x-5x faster, see
* [WebKit](https://www.zapcc.com/demo-webkit)
* [ETL](https://baptiste-wicht.com/posts/2016/12/zapcc-cpp-compilation-speed-against-gcc-54-and-clang-39.html)
* [MKVToolNix](https://www.bunkus.org/blog/2018/06/speeding-up-mkvtoolnix-compilation-speed-with-zapcc)
* [A Performance-Based Comparison of C/C++ Compilers](https://colfaxresearch.com/compiler-comparison)

Typically re-compilation of one modified source file is 10x-50x faster, see [Boost.Math](https://www.zapcc.com/demo-incremental-build/).
Typically re-compilation of one modified source file is 10x-50x faster.

Acceleration depends on the complexity of the header files vs. the complexity of the source files. It can range from no acceleration at all for plain C projects where caching is disabled to x2-x5 for build-all of heavily templated projects, up to cases of x50 speedups in developer-mode incremental change of one source file.
As a reference number, Zapcc builds the LLVM `build-all` target about x2 faster compared to building LLVM using clang.

As a reference number, Zapcc builds LLVM build-all about x2 faster compared to building LLVM using clang.
Here are [ASCII movies comparing clang and zapcc](https://asciinema.org/~Zapcc) fully building [WebKit](https://webkit.org) and incremental building [Boost](https://www.boost.org).

### Is Zapcc Clang compatible?

Yes, zapcc is based on heavily-modified clang code.
Yes, zapcc is based on heavily-modified [clang](https://clang.llvm.org) code.

### Is Zapcc GCC compatible?

Yes, to the extent clang is gcc compatible.
Yes, to the extent clang is [gcc](https://gcc.gnu.org) compatible.

### My project does not compile with Zapcc!
### How zapcc works?

Please make sure first your project compiles successfully with Clang. If your project does not compile with Clang, Zapcc, being based on Clang, will not be able to compile any more than clang.
See [CATC 2017 presentation](/docs/zapcc/catc17-zapcc-an-accelerating-c-compiler.pdf) and [discussion at cfe-dev](http://lists.llvm.org/pipermail/cfe-dev/2015-May/043155.html).

### Are the sanitizers supported?

No.

### How zapcc is different from precompiled headers?
### Is zapcc different from precompiled headers?

Precompiled headers requires building your project to the exact precompiled headers rules. Most projects do not bother with using precompiled headers. Even then, precompiled headers do not cache as much as zapcc. Zapcc works within your existing build.
See [discussion at cfe-dev](http://lists.llvm.org/pipermail/cfe-dev/2015-May/043155.html).

Precompiled headers are currently ignored by Zapcc.

### How zapcc is different from C++ modules?

Modules are not yet standard, rarely used and do not support well legacy code and macros found in most existing C++ code, such as Boost. Modules require significant code refactoring in bottom-up approach everything or are slow. Even then, modules do not cache template instantiations and generated code that are specific to your code like zapcc does.
As of C++17, modules are not standard, rarely used and do not support well legacy code and macros found in most existing C++ code, such as Boost. Modules require significant code refactoring in bottom-up approach everything or are slow. Even then, modules do not cache template instantiations and generated code that are specific to your code like zapcc does.

### My project does not compile with Zapcc!

Please make sure first your project compiles successfully with Clang. If your project does not compile with Clang, Zapcc, being based on Clang, will not be able to compile any more than clang.

### Are the sanitizers supported?

No.

### How much memory does Zapcc use?

0 comments on commit 51132ba

Please sign in to comment.
You can’t perform that action at this time.