kani
kani copied to clipboard
Parallelize the conversion of symbol tables to goto binaries
Requested feature: Currently, Kani converts the symbol table for each crate into a goto binary through calling CBMC's symtab2gb executable on one crate at a time. For packages with many dependencies, this can take in the order of minutes. We should parallelize this conversion process to speed it up.
Three approaches to this:
- We could move calling
symtab2gbintokani-compiler. This would probably be the most optimal solution given our current architecture. - We could just parallelize these calls in
kani-driver. This should be simplest to implement. - Adoption of the new MIR Linker approach should obsolete this problem, since we'll have a new architecture that doesn't have multiple symtab to separately translate.
I plan to do 2, to get it down quick, in anticipation of 3 coming before too long.