esbmc icon indicating copy to clipboard operation
esbmc copied to clipboard

Parallelize model generation

Open mikhailramalho opened this issue 2 years ago • 2 comments

Without a doubt, the slowest part of the compilation is the model generation, so an improvement would be making it run in parallel: instead of passing a list of c files to c2goto to generate a single goto binary, we could give it one at the time, then merge them all at the end.

It's likely to improve the speed in hardware with more than one processor.

mikhailramalho avatar Jul 12 '22 17:07 mikhailramalho

then merge them all at the end.

This should be done during the compilation as well, right? It would be nice to have a separate compiler (c2goto) and linker. Ideally (in some other PR), we'd be using a standard object format instead of GBF...

It's likely to improve the speed in hardware with more than one processor.

I agree, c2goto are the slowest single steps during compilation.

fbrausse avatar Jul 12 '22 17:07 fbrausse

we could give it one at the time, then merge them all at the end.

I think that a goto-linker would be great.

rafaelsamenezes avatar Jul 12 '22 18:07 rafaelsamenezes