Den 2018-01-29 kl. 18:59, skrev Joel Rosdahl via ccache: > On 29 January 2018 at 07:14, Scott Bennett <benn...@sdf.org> wrote: > >> Countless data base software implementations handle these situations >> acceptably well. > > Sigh. > > I see. You're talking about a completely different model than what > ccache currently uses, which was not clear to me when I read your > initial description. What you seem to don't understand, or choose to > ignore, is that ccache can't stop supporting the simple server-less > file-based model since that would drop support for two important use > cases: > > 1. Using ccache on a personal account without having access to a system > service and without having to start a personal server. > 2. Using a shared cache on NFS. > > (For case 1, it would be feasible with a model where the client starts a > server on demand, unless the cache is shared.) > > Why are they important? Simply because people have used ccache like that > for many years.
We have found that use case 2 needs extending, to add a local cache in front. Then the NFS store is only used as a "secondary cache"... But this can be done without changing very much in ccache, and I know I said that we would post some code for that. Will try again. :-) > It would certainly be possible to add optional client-server backends, > and for them I fully agree that using a centralized index is obvious, > but that's just an entirely separate discussion as I see it. > > If we would drop support for simple file-based caches, then it would no > longer be ccache but something else. Which would be fine, but that's > another project. (It could of course be ccache version 4, but then I > expect that ccache version 3 would continue living its own life, so it > would be a separate project in practice.) We already have such an implementation, which works fine - in parallell. We only have to complete the work of merging the dev/memcached branch ? By starting a memcached daemon, we get the required client/server setup. And by using "moxi", we can have that daemon talk to a "real" database. >> Very possibly you have the requisite knowledge/experience yourself. > > Actually yes, so you could have saved both your and my time by just > asking something like "Have you considered using a client-server model, > perhaps using a standard database, instead of a file-based cache?" > instead of trying to educate me. > >> To modify ccache to use data base software is admittedly a major >> rewriting job, so I expect such an idea to put you off, but it's a >> project that should ultimately yield a far superior product, IMO. > > I don't disagree, but as I said, that would be another project, and I > neither have time nor interest in that personally. As mentioned above, it is very possible to use Couchbase for this. It is an open source NoSQL database, from https://couchbase.com Since ccache is talking the standard memcached protocol directly, it doesn't even have to know that it is using a standard database! https://www.couchbase.com/memcached https://github.com/ccache/ccache/tree/dev/memcached /Anders _______________________________________________ ccache mailing list firstname.lastname@example.org https://lists.samba.org/mailman/listinfo/ccache