-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Code Speed Investigation and Improvement #35
Comments
|
The speed analysis has been done for various motor environments.
Additionally, I have also noticed the earlier optimization efforts using Jacobian. But, need to dig deeper on that. |
I had a call with Pramod in which he showed me the steps he did for the code investigations. I have no further remarks on this issue. |
@pramodcm95 : During the last meeting you also showed the structure overview of the built-in Pycharm profiler regarding the computational demand per code part (flowchart style diagram). Could you please add these diagrams as picures to this report issue, I belive they provide a valuable overiew. |
In the issue branch on git hub, I have checked in these files as "___.pstat' files (one for each environment) which needs to be imported to pycharm( in tools->open CProfile snapshot ). This should be the best way to get that graph since we can navigate to respective source file directly. Here, In this issue, I can post the snapshot if you want. But are you expecting the flowchart snap of each environment and controller combination?, which I am afraid, may be chaotic here. |
Since we would like to maintain a slim branch structure in the long-run, the issue branch will be deleted at some point. Hence, I believe it would be simplest if you could through the relevant files into an archive folder and upload it here to the issue thread - I believe these reportings are static files which do not require the specific code from which they have been generated, right? |
yes, they have been generated for different Environment-ID's. SO changing an environment would give me a new report. And I understand the concept now. I am uploading a folder with relevant files for a quick update now. The snapshots will also be posted soon |
Code profiling delivered some interesting insights into the computational demand of the different parts of the toolbox. Next steps will be to evaluate possible speed improvements e.g. if parts of the toolbox can be transfered to Cython or Numba to optain a speed-up. |
@pramodcm95 |
No @wallscheid . It is good to remove it from repo. |
@pramodcm95 : could you please provide a short update on your working status? The supervisors missing a lifesign. |
Yes.
So simpler option would be to switch to numba, which takes higher time for the first compilation and then on depending on the type of code, it speeds up the process.
@jitclass - compiles whole class using JIT compiler As all these have lots of pre-requisites, the idea to attack the function taking a lots of time was an ambitious task, since it has lots of interlinked functions which cannot be converted to numba straightaway. I am stuck at a certain point, where adding a numba decorator is asking an extra argument in certain functions and doesn't behave similar for other functions. Reading through their repository to find any such issues reported before. |
@pramodcm95 : could you please upload your altered code to a dedicated feature branch such that also others can have a view on it. Regarding the result: are there any statements from the numba project or numba users that initial calls of numba code is leading to quite a significant overhead? Maybe the computional load of the code you have exchanged is very small while this presumed overhead is large? |
Maybe this package could help to outsource performance-critical code into c code: |
The text was updated successfully, but these errors were encountered: