Most of the flow processing time goes on git operations (times in seconds, from se-henri server at DLR running 4 CPUs, piping demo.py through "ts" util)
| phase | seconds |
| --- | --- |
| loading core_desc | 9 |
| applying seal5 patches | 9 |
| transforming | 14 |
| generating instruction patches | 7 |
| applying instruction patches | 64 |
The git python module used to apply the patches forks a lot of git processes (hundreds), which is where most of the 64 seconds is consumed. Possible remedies:
-
Aggregate the patches into a single commit, rather than the commit-per-instruction approach. Having lots of commits can be good for debugging (bisecting) and cherry-picking but in a real "product" might want to squash them into a single "Add FOO extension" anyway?
-
Write the patches as multiple commits for the instructions into a single mail patch, then apply that with "git am" (whereas current approach is "git apply + add + commit" with each instruction patch
Originally posted by @thomasgoodfellow in #52
Originally posted by @thomasgoodfellow in #52