symbench / symbench-athens-client

Python client for Symbench's UAV workflow runs.
Apache License 2.0
0 stars 2 forks source link

Optimize the FDM execution even further #106

Open umesh-timalsina opened 3 years ago

umesh-timalsina commented 3 years ago

There are couple of other optimization points that could help speed this up even more: 1. mainly the search criterion should be very greedy IMO. If you don't achieve a trim state at a given speed, you might not receive a trim state for a speed higher than that?

  1. Reduce the number of I/O file operations. This might speed up everything significantly. (This is better suited in a different PR)

Originally posted by @umesh-timalsina in https://github.com/symbench/symbench-athens-client/issues/100#issuecomment-906380546

umesh-timalsina commented 3 years ago

Couple of thoughts:

  1. Don't use absolute path for propellers data, this will make it harder to reproduce or do anything with the generated artifacts. This should be a relative path.
  2. Instead of changing directory to tempdir and moving the generated files from here to artifacts, it will be easier to change directory to the run's guid itself. Since, the files generated will have different names and the all paths execution actually happens sequentially, synchronization might not be an issue here.
  3. Will string instead of file redirection help?
  4. Can we generate the input files for a design all at one go, which seems possible to me BTW.
umesh-timalsina commented 3 years ago

Upon Further thought, Point 4 in the above comment deserves it own issue?

4. Can we generate the input files for a design all at one go, which seems possible to me BTW.

umesh-timalsina commented 3 years ago

Points 1 and 2 in the above comments are actually interrelated to each other.

umesh-timalsina commented 3 years ago

FDM Optimization (Issue 1)

  1. Don't use absolute path for propellers data, this will make it harder to reproduce or do anything with the generated artifacts. This should be a relative path.

2. Instead of changing directory to tempdir and moving the generated files from here to artifacts, it will be easier to change directory to the run's guid itself. Since, the files generated will have different names and the all paths execution actually happens sequentially, synchronization might not be an issue here.