Hi! I'm in the process of rewriting my compiler's driver to use Rock, and the experience is fantastic for now. :)
I had implemented a caching system that would hash the file (or its AST) in combination with the build flags, and get the final generated code directly from a store location.
Some context: I intend to make my compiler a daemon and have the CLI tool to be a lightweight client, like nocc where the daemon dies 15 seconds after the last client process has died. So I can't really keep all that stuff in memory, since two builds of the same project in a 16 seconds interval would have to rebuild the in-memory cache.
Do you think this method can be integrated in Rock's cache system? Or would it be easier to dump the cache of Rock on disk and reload it when starting the daemon process?
Hi! I'm in the process of rewriting my compiler's driver to use Rock, and the experience is fantastic for now. :)
I had implemented a caching system that would hash the file (or its AST) in combination with the build flags, and get the final generated code directly from a store location.
Some context: I intend to make my compiler a daemon and have the CLI tool to be a lightweight client, like nocc where the daemon dies 15 seconds after the last client process has died. So I can't really keep all that stuff in memory, since two builds of the same project in a 16 seconds interval would have to rebuild the in-memory cache.
Do you think this method can be integrated in Rock's cache system? Or would it be easier to dump the cache of Rock on disk and reload it when starting the daemon process?