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.

Reply via email to