Skip to content

Reduce time to apply patches #205

Description

@PhilippvK

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:

  1. 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?

  2. 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

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions