lic2soc: try a few optimisation wrt Soc.gao scheduling and test opening.
Indeed, in order to sort Soc.gao, I currently process in 3 stages ; 1. compute a total ordering of Actions.t according to the deps 2. transform Actions.t into Soc.gao (List.map) 3. factorize Soc.gao by looking at consecutive gao that have the same guard With this change, between steps 1 and 2, I reorder the list of actions so that group of independent actions are sorted according to their clock. The idea is of course to provide to step 3 more opportunities of factorization. The result is not very convincing yet. I've also tried to sort the actions wrt their clock before performing the toposort. Seems not too bad. I've kept the old behavior by default though.
Showing
- Makefile 1 addition, 1 deletionMakefile
- _oasis 1 addition, 1 deletion_oasis
- src/action.ml 2 additions, 2 deletionssrc/action.ml
- src/actionsDeps.ml 12 additions, 1 deletionsrc/actionsDeps.ml
- src/actionsDeps.mli 6 additions, 1 deletionsrc/actionsDeps.mli
- src/lv6MainArgs.ml 21 additions, 2 deletionssrc/lv6MainArgs.ml
- src/lv6MainArgs.mli 3 additions, 0 deletionssrc/lv6MainArgs.mli
- src/lv6util.ml 8 additions, 0 deletionssrc/lv6util.ml
- src/sortActions.ml 36 additions, 25 deletionssrc/sortActions.ml
- src/sortActionsExpe.ml 127 additions, 0 deletionssrc/sortActionsExpe.ml
- test/lus2lic.sum 13 additions, 13 deletionstest/lus2lic.sum
- test/lus2lic.time 8 additions, 8 deletionstest/lus2lic.time
Loading
Please register or sign in to comment