Linux:自定义 Clang 是最快的工具链。(数据越小越好) 很明显,Linux 上的 GCC 是个特例,而 Clang 的表现则要好上很多。我自定义构建的 Clang(和 Rust 工具链一样,也是用 PGO 和 BOLT 构建的)相较于 Ubuntu 的 Clang,显著优化了构建时间,而 libstdc++ 的构建略快于平均 libc++ 的速度。 那我的自定义 C...
我自定义构建的 Clang(和 Rust 工具链一样,也是用 PGO 和 BOLT 构建的)相较于 Ubuntu 的 Clang,显著优化了构建时间,而 libstdc++的构建略快于平均 libc++的速度。 那我的自定义 Clang 加上 libstdc++在 C++和 Rust 的对比中表现如何呢? macOS:Xcode 是最快的工具链。(数据越小越好) 在macOS 上,搭配 Xc...
如果你使用的是 Linux 系统,往往已经具备了 GCC 或 clang。如果你使用的是 macOS,需要安装 Xcode。如果你是用的是 Windows 操作系统,你需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC 或安装 MinGW + GCC 编译环境(Cygwin 还没有测试)。 安装Rust 编译工具 Rust 编译工具推荐使用刚才...
Clang要快得多。而我自己构建的Clang(与Rust构建一样,采用了PGO和BOLT)比Ubuntu自带的Clang又有很大提升。libstdc++构建平均而言比libc++快一点点。我们采用自己构建的Clang和libstd++,代表C++与Rust进行比较。 在macOS上,Xcode自带的Clang似乎比LLVM网站上提供的Clang工具链更好。我采用Xcode的Clang与Rust比较。 C++2...
但是,在macOS上,结论完全不同。C++构建通常比Rust构建快得多。在incremental test-utf-8测试中(该测试修改的文件为中等大小),rustc编译得比Clang略快。但在所有其他增量测试以及完整构建中,Clang显然要快得多。 对于超过1.7万行的大项目 我只测试了1.7万行代码的小项目。对于大项目(比如10万行),构建时间如何呢?
Linux 用户通常应根据其发行版的文档安装 GCC 或 Clang。例如,如果你使用 Ubuntu,你可以安装 build-essential 包。因为我电脑已经安装过了,所以会显示 xcode-select: note: Command line tools are already installed. Use"Software Update"in System Settings or the softwareupdatecommandline interface to install up...
如果你使用的是 Linux 系统,往往已经具备了 GCC 或 clang。如果你使用的是 macOS,需要安装 Xcode。如果你是用的是 Windows 操作系统,你需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC 或安装 MinGW + GCC 编译环境(Cygwin 还没有测试)。
Rust 和 Clang 确实都是线性扩大,这点很好。 正如预期中一样,修改 C++ 的头文件,也就是增量 diag-type 会大幅影响构建时间。而由于 Mold 链接器的存在,其他增量基准中构建时间的扩展系数很低。 Rust 构建的扩展性让我很失望,即使只是增量 utf-8 测试的基准,无关文件的加入也不应该让它的构建时间如此受影响。
cmake -G "Ninja" -S ./llvm-project/llvm -B ./build_dyn_x64 -DCMAKE_INSTALL_PREFIX=./llvm_x64 -DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;lld;" -DLLVM_TARGETS_TO_BUILD="X86" -DBUILD_SHARED_LIBS=ON -D...
语言边界的内联。也有按配置优化(Profile-guided Optimization,PGO)的支持。尽管 rustc 比 clang 生成...