Is there a way to improve ccache's cache hit?
Here are my current stats:
There's stuff in the man page about adding "fuzziness", something like fuzzy_ctime, etc, that I thought would improve cache hits, but it ended-up lowering it...
Now it's just basically the default config, here's my config file that has the "sloppiness" I meant... and also my headers because i'm awesome.
What do you guys have? Anything I could do better?
Also, for the record, I wanted to make something like that, but it involved changing the way make handles the port tree and the work directory... I essentially wanted to make it so make and/or portsnap would compare the new distfiles's contents to what was already there, and just overwrite what had been changed... I'm not sure if it would've been better than ccache or not...
Here are my current stats:
Code:
[Wed Dec 20 2017 13:35:02.420] poorandunlucky@M6500 ~ > ccache -s
cache directory /var/db/ccache
primary config /var/db/ccache/ccache.conf
secondary config (readonly) /usr/local/etc/ccache.conf
cache hit (direct) 10587
cache hit (preprocessed) 3800
cache miss 99081
cache hit rate 12.68 %
called for link 19443
called for preprocessing 8003
multiple source files 5
compile failed 1496
preprocessor error 1424
can't use precompiled header 20
bad compiler arguments 658
unsupported source language 7
autoconf compile/link 9022
unsupported compiler option 510
unsupported code directive 2
no input file 4460
cleanups performed 0
files in cache 284040
cache size 7.3 GB
max cache size 15.0 GB
[Wed Dec 20 2017 13:35:06.146] poorandunlucky@M6500 ~ >
There's stuff in the man page about adding "fuzziness", something like fuzzy_ctime, etc, that I thought would improve cache hits, but it ended-up lowering it...
Now it's just basically the default config, here's my config file that has the "sloppiness" I meant... and also my headers because i'm awesome.
Code:
################################################################################
# DogeOS 0.0.1
# Local CCACHE Configuration File
# ------------------------------------------------------------------------------
# This file configures CCACHE, the compiler cache.
# ==============================================================================
# ==============================================================================
# | This is CCACHE's local configuration file. The default file is
# IMPORTANT | located at /usr/local/etc/ccache.conf, and this file's settings
# | override those found in the default file.
# ==============================================================================
cache_dir = /var/db/ccache
max_size = 15.0G
log_file = /var/log/ccache.log
#tmp_dir = /tmp
#sloppiness = file_stat_matches,include_file_ctime,include_file_mtime
# ==============================================================================
# DogeOS 0.0.1 - Yoonix | poorandunlucky <poorandunlucky@boardermail.com>
################################################################################
What do you guys have? Anything I could do better?
Also, for the record, I wanted to make something like that, but it involved changing the way make handles the port tree and the work directory... I essentially wanted to make it so make and/or portsnap would compare the new distfiles's contents to what was already there, and just overwrite what had been changed... I'm not sure if it would've been better than ccache or not...