Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
[FS} Speed of functions defined in versioned document versus same document
George_Anderson
Member Posts: 71 ✭✭
Is there a reason to expect a performance boost when calling a function from an imported versioned document as opposed to importing from another file in the same document?
As an example, I copied a low-level function (`project`) from the FS stdlib into my document and renamed it 'local_project'. The profiler shows that calling 'local_project' is nearly twice as slow as calling the one in stdlib, despite no modifications. Is there a reason to expect this, and does it imply that I could get better performance by refactoring code into separate documents?
Tagged:
0
Comments
-
There should be no difference (at least in functions like this). I expect what you're seeing is due to variance in the profiling, especially for small time intervals -- you have to run 'project' a lot of times before you get a reliable performance estimate.Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc0
-
@ilya_baran Here's a document demonstrating the problem (speed difference solidly verified by 1000 calls, or you can increase it).It turns out it has something to do with imported stdlib versions. I have two featurescript tabs -- if the stdlib version I import is different in the two tabs (e.g. I used 1549 and 1540, but any two different versions in either tab seems to demonstrate the problem), then the version "locally imported" from the library tab is about 40% slower, while the direct import from the library and a locally defined copy in the same tab don't change speed.
0 -
Interesting -- there is clearly an effect from mixing different std versions. Without profiling the internals, I can't immediately explain it, though I have some guesses. Regardless, not mixing stds has performance benefits outside what is measured during execution, so that remains the recommendation.Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc2

