ccache | |
---|---|
ccache 3.1.6 på Gentoo Linux | |
Type | compiler cache |
Udvikler | Andrew Tridgell |
Skrevet i | C [1] |
Operativ system | Unix-agtig |
Hardware platform | software på tværs af platforme |
nyeste version | 3.7.1 (1. maj 2019) |
Licens | GNU GPL |
Internet side | ccache.dev |
ssache (fra den engelske compiler cache ; udtales "sikesh") - en cache af C og C++ compilere til Linux og andre Unix -lignende systemer.
Brug af ccache kan i høj grad fremskynde opbygningen af nogle pakker eller projekter, der er kompileret flere gange, da kun filer, der er ændret siden sidste kompilering, bliver kompileret igen.
Når en fil kompileres, beregnes dens hash , og hvis en sådan fil allerede er til stede i registeret over kompilerede filer, vil den ikke blive kompileret igen, men den gamle binære fil vil blive brugt. Dette kan fremskynde samlingen af nogle pakker med 5-10 gange.
Dette tager højde for forskellige compilerversioner og byggemuligheder. Det betyder, at hvis du engang har bygget et projekt med -O2-optimering ved hjælp af ccache , så vil filen blive kompileret igen, når du bygger med -O3- optimering , mens den gamle fil bliver gemt i ccache -registret , men en ny vil blive tilføjet .
Hvis en fil er kompileret forkert én gang, vil den ikke blive rettet ved genkompilering uden at ændre parametrene. Dette kan undgås ved at slette filer fra cachen. Mappen, hvor standardcachen er gemt, er $homedir/.ccache/ . Til rengøring er det nødvendigt at slette alle filer, da de er sorteret efter hash fra kildefiler for hurtigere søgning, og den søgte fil ikke kan skelnes fra andre. Dette kan gøres med kommandoen ccache -C .
ccache bruges aktivt i Gentoo og andre kildebaserede distributioner:
Der er også Distcc for at fremskynde pakkebyggeri .