As you know, the majority time of building FriCAS is to compile over 1000 SPAD files to LSP files and then to LISP_BIN file. Luckily, this step can be paralleled.
So on a multi-core machine, to reduce build time, the focus should be on the serial part of build process. The building of algebra/*daase is the most important serial part. I'm not entirely familiar with the process, but it seems there are a few stages to generate daase, and each stage requires to compile many (if not full) spad files, and the compiled result is discarded. So I think in this step, it is wasteful to compile these *lsp file to *fasl file, especially for SBCL with :SB-FASTEVAL. So some simple testing: Compile FriCAS (without X11) with 8 cores (2.2GHz) takes 2m53s real time and 11m CPU time. (So a rough estimation is that parallel part takes around 1min10s and serial part takes around 1m40s.) The first stage to generate daase is "make stamp-db" in src/algebra. This serial step alone takes 60s. Skipping the lsp->fasl compilation reduce this step to 40s. This will make the whole compilation 11% faster. This is just a rough idea, still a long way to figure out all the details. - Qian -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/8d872255-4982-e112-082a-8c8da814bd5b%40gmail.com.
