Skip to content
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

Faster ToOctave() implementations #2

Merged
merged 2 commits into from Nov 10, 2018
Merged

Conversation

CptWesley
Copy link
Contributor

Why?

The current combination of aggregations and formatting is rather slow, in fact an array of 80.000 randomly generated doubles took about 40 seconds to be formatted into an octave vector string. This alternative implementation only took 47 milliseconds to create the same string. I initially wanted to test the difference on an array filled with zeroes of size 4.000.000, however after about 20 minutes I decided it was taking too long, while the implementation in this pull request only took 614 milliseconds.

What?

The .ToOctave() methods have been implemented with a StringBuilder loop which is considerably faster/more scalable than the current implementation present in the master branch.

@triforcely
Copy link
Owner

You are right, current implementation is far from optimal. I didn't really bother with optimizing the code because my solutions use small vectors (less than 100 items), so I didn't notice the problem. I did some benchmarks and I can see difference even with array of 10 items. Performance gain introduced by your commit is huge!

Thanks for contributing :)

@triforcely triforcely merged commit f384937 into triforcely:master Nov 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants