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

TimeEvolution with buffer #32

Merged
merged 5 commits into from
Jul 26, 2017
Merged

TimeEvolution with buffer #32

merged 5 commits into from
Jul 26, 2017

Conversation

termoshtt
Copy link
Owner

I drop "self-consuming" style API, which was originally introduced in order to accept KSE code in rust-spectral.
It is hard to use same interface among &self and &mut self time-evolution operator.

This PR introduces Buffer type which can be mutable while the EOM itself immutable.

@termoshtt
Copy link
Owner Author

master

cargo run --release --bin bench  16.15s user 0.21s system 100% cpu 16.200 total

buffered

cargo run --release --bin bench  9.30s user 0.24s system 101% cpu 9.383 total

almost twice faster (/・ω・)/

@termoshtt
Copy link
Owner Author

cargo run --release --bin bench  8.15s user 0.22s system 102% cpu 8.193 total

@termoshtt
Copy link
Owner Author

Constructor of RK4Buffer may be more simple like

let buf = teo.new_buffer();

But it needs breaking change.
It postponed another PR.

@termoshtt termoshtt merged commit 38113b1 into master Jul 26, 2017
@termoshtt termoshtt deleted the buffered branch July 26, 2017 06:07
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.

1 participant