Remote Execution Caching Compiler (RECC)## Remote Execution Caching Compiler (RECC) Engineering CppCon 2024 September 19, 2024 Shivam Bairoliya Software Engineer TechAtBloomberg.com © 2024 Bloomberg Finance L.P. All rights reserved. ## ## What is RECC? • Remote Execution Caching Compiler (RECC) Open source build tool that wraps compiler commands and optionally forwards them to a remote build execution service Encompasses the capabilities remote linking and caching ## • Designed to share caches across diverse toolchains Works with many compiler toolchains (GCC, Clang, Solaris CC) o Supports multiple operating systems (Linux, macOS, Solaris)0 码力 | 6 页 | 2.03 MB | 1 年前3
Learning by Contributing to Rust Compiler - 陈于康第三届中国 Rust 开发者大会 ## [Table_CompanyName] 6.17-6.18 @Shanghai ## Learning by Contributing to Rust Compiler Yukang github.com/chenyukang Engineer @ Cryptape ## My work experience • 2011 ~ 2014 EDA startup Diagnostic is an art • Rust cares about error messages • We are building a sufficiently empathetic compiler • It's a trade-off R Rust programming language Crustacean  x rustc +dev tests/ui/suggestions/issue-105761-suggest-self-for-closure0 码力 | 23 页 | 3.28 MB | 2 年前3
Julia 1.6.0 DEV Documentationarguments ..... 1286 Compiler efficiency issues ..... 1288 96.9 Base.Cartesian ..... 1288 Principles of usage ..... 1288 Basic syntax ..... 1289 96.10 Talking to the compiler (the :meta mechanism) Experimental features ..... 1316 96.20 Inference ..... 1316 How inference works ..... 1316 Debugging compiler.jl ..... 1316 The inlining algorithm (inline_worthy) ..... 1317 96.21 Julia SSA-form IR ... Release Notes ..... 1337 98 New language features ..... 1339 99 Language changes ..... 1341 100 Compiler/Runtime improvements ..... 1343 101 Command-line option changes ..... 1345 102 Multi-threading0 码力 | 1383 页 | 4.56 MB | 2 年前3
Conan 1.52 DocumentationConan client inside a conanfile 384 17.26 Use a generic CI with Conan and Artifactory 385 17.27 Compiler sanitizers 387 18 Reference 391 18.1 Commands 391 18.2 conanfile.txt 471 18.3 conanfile binaries for mainstream compiler versions. Conan can manage any number of different binaries for different build configurations, including different architectures, compilers, compiler versions, runtimes, create and reuse any number of different binaries (for different configurations like architectures, compiler versions, etc.) for any number of different versions of a package, using exactly the same process0 码力 | 943 页 | 7.62 MB | 2 年前3
The Zig Programming Language 0.3.0 Documentationprograms the best way they can behave and perform. - Clear – precisely communicate your intent to the compiler and other programmers. The language imposes a low overhead to reading code. Often the most efficient Integer Values Integer literals have no size limitation, and if any undefined behavior occurs, the compiler catches it. However, once an integer value is no longer known at compile–time, it must have a known an empty struct const does_nothing = Empty {}; } // struct field order is determined by the compiler for optimal performance // however, you can still calculate a struct base pointer given a field0 码力 | 175 页 | 4.08 MB | 2 年前3
Reference guide for Free Pascal, version 3.2.2This document serves as the reference for the Pascal language as implemented by the Free Pascal compiler. It describes all Pascal constructs supported by Free Pascal, and lists all supported data types the Pascal language. The Free Pascal compiler emulates these compilers in the appropriate mode of the compiler: certain features are available only if the compiler is switched to the appropriate mode. around 1970. It has evolved significantly since that day, with a lot of contributions by the various compiler constructors (Notably: Borland). The basic elements have been kept throughout the years: • Easy0 码力 | 268 页 | 700.37 KB | 2 年前3
Kotlin Language Documentation 1.9.20platforms ..... 95 How to get started ..... 96 Kotlin for JavaScript ..... 96 Kotlin/JS IR compiler ..... 96 Kotlin/JS frameworks ..... 96 Join the Kotlin/JS community ..... 97 Kotlin for data Kotlin ..... 105 What's new in Kotlin 1.9.20 ..... 105 .IDE support ..... 105 New Kotlin K2 compiler updates ..... 106 Kotlin/JVM ..... 107 Kotlin/Native ..... 107 Kotlin Multiplatform ..... 20 ..... 122 What's new in Kotlin 1.9.0 ..... 122 .IDE support ..... 123 New Kotlin K2 compiler updates ..... 123 Language ..... 125 Kotlin/JVM ..... 126 Kotlin/Native ..... 127 Kotlin0 码力 | 1299 页 | 32.44 MB | 2 年前3
Julia 1.10.9Generation Process 1560 101.8 Julia Functions 1562 101.9 Base.Cartesian 1566 101.10 Talking to the compiler (the :meta mechanism) 1571 101.11 SubArrays 1572 101.12 isbits Union Optimizations 1576 101 ..... 1675 104.1 New language features ..... 1675 104.2 Language changes ..... 1675 104.3 Compiler/Runtime improvements ..... 1676 104.4 Command-line option changes ..... 1676 104.5 Build system applications, and we do not expect their use to diminish. Fortunately, modern language design and compiler techniques make it possible to mostly eliminate the performance trade-off and provide a single environment0 码力 | 1692 页 | 6.34 MB | 1 年前3
Branchless Programming in C++Writing Efficient Programs An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples Fedor G. Pikus ## PLAN • Efficiency and performance • Understanding  “Just works” Compiler takes care of it Needs care “Just works” but Good to know ## COMPUTING RESOURCES OF A usually true • Temporary variable: bool cond = x || y; if (cond) ... - Does not work at all: - compiler will get rid of it – it's still two branches ## OPTIMIZING FALSE BRANCH if (x || y) do_it();0 码力 | 61 页 | 9.08 MB | 1 年前3
What Volatile Means (and Doesn't Mean)in object declarations • What protections volatile does and doesn’t provide • Workarounds for compiler issues regarding volatile ## Why volatile is Necessary ■ Many device drivers contain code that initiate an operation. • Reading from a receive buffer may set or clear bits in a status register. ■ Compiler optimizations might change the number of register accesses. • Eliminating an access eliminates Optimization ■ Unfortunately, to the compiler, USTAT0 looks like an ordinary object. • Its state should change only when the program acts on it. - Thus, the compiler’s optimizer might conclude that USTAT0’s0 码力 | 32 页 | 901.80 KB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
Remote Execution Caching Compiler (RECC)compiler commandsremote build execution servicecache keydistributed buildRust CompilerRust FoundationRustaceanRust by hackingcontributionJuliacompilermultiple dispatchJIT compilationLLVMConanpackage managementdependency managementbuild systemsZigbuild optionserror handlingcross-platformFree Pascal compilerPascal languageprocedure declarationassemblerexception handlingK2 compilerKotlin/Nativememory allocatorGradleKotlin MultiplatformJulia 1.10Julia LanguageRelease NotesStandard LibraryCompiler/Runtime improvementsBranchless ProgrammingConditional BranchesBranch PredictionCompiler OptimizationEfficient Hardware Utilizationvolatilecompiler optimizationsmemory barriersatomicitystd::uint32_t













