Git Product home page Git Product logo

buildcache's Introduction

BuildCache Build and Test

BuildCache is an advanced compiler accelerator that caches and reuses build results to avoid unnecessary re-compilations, and thereby speeding up the build process.

It is similar in spirit to ccache, sccache and clcache.

Download

Pre-built binaries of BuildCache can be downloaded here.

Features

  • Works on different operating systems:
    • Linux
    • macOS
    • Windows
    • Though untested, it probably works on most BSD:s
  • A modular compiler support system:
    • Built-in support for popular compilers.
    • Extensible via custom Lua scripts.
    • In addition to caching compilation results, BuildCache can be used for caching almost any reproducible program artifacts (e.g. test results, rendered images, etc).
  • A fast local file system cache.
    • Suppports both preprocessor-based and fast preprocessorless cache lookup.
  • Can optionally use a remote, shared server as a second level cache.
  • Compression with LZ4 or optionally ZSTD (with negligable overhead).

Supported compilers and languages

Currently the following compilers and languages are supported:

Compiler Languages Support
GCC C, C++ Built-in
Clang C, C++ Built-in
Microsoft Visual C++ C, C++ Built-in
clang-cl C, C++ Built-in
QNX SDP (qcc) C, C++ Built-in
Green Hills Optimizing Compilers C, C++ Built-in
TI TMS320C6000 Optimizing Compiler C, C++ Built-in
TI ARM Optimizing C/C++ Compiler C, C++ Built-in
TI ARP32 Optimizing C/C++ Compiler C, C++ Built-in
scan-build static analyzer C, C++ Built-in
Clang-Tidy C, C++ Lua example

New backends are relatively easy to add, both as built-in wrappers in C++ and as Lua wrappers.

Status

BuildCache has been used daily in production environments for years with near zero issues (any problem that has emerged has of course been fixed), which gives it a good track record.

With that said, BuildCache is still considered to be under development and things like configuration parameters and cache formats may change between 0.x versions.

Once BuildCache has reached version 1.0, all releases will be fully backwards compatible within a major version (e.g. 1.x).

Documentation

The BuildCache internals are documented using Doxygen, and the latest generated documentation can be found here:

Feel free to ask questions and discuss ideas at:

buildcache's People

Contributors

mbitsnbites avatar shuffle2 avatar gjasny avatar veghbalazs avatar moltob avatar auric avatar ichtrnemo avatar bklarson avatar vvainola avatar mike-bell avatar nextdesign1 avatar asheplyakov avatar cristianadam avatar antikaspar avatar jakeru avatar palver123 avatar encounter avatar magnesj avatar smattr avatar take-a-byte avatar boussaffawalid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.