kani icon indicating copy to clipboard operation
kani copied to clipboard

Parallelize the conversion of symbol tables to goto binaries

Open zhassan-aws opened this issue 3 years ago • 1 comments

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.

zhassan-aws avatar Aug 04 '22 23:08 zhassan-aws

Three approaches to this:

  1. We could move calling symtab2gb into kani-compiler. This would probably be the most optimal solution given our current architecture.
  2. We could just parallelize these calls in kani-driver. This should be simplest to implement.
  3. 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.

tedinski avatar Sep 06 '22 16:09 tedinski