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

Speed comparison with calibrator #1

Closed
nevrome opened this issue Jul 5, 2021 · 2 comments
Closed

Speed comparison with calibrator #1

nevrome opened this issue Jul 5, 2021 · 2 comments

Comments

@nevrome
Copy link
Owner

nevrome commented Jul 5, 2021

I'm trying to get at least as fast as calibrator by @MartinHinz (discussion started in ISAAKiel/calibrator#1)

So far it's not looking good:

$ time ./calibrator -i ../data/input_test.csv > /dev/null

real	0m0,171s
user	0m0,162s
sys	0m0,009s
$ time currycarbon calibrate "1000+200;2000+200;3000+200;4000+200;5000+200;6000+200;7000+200;8000+200" --densityFile /dev/null
Loading calibration curve
Calibrating
Writing density file
Done

real	0m0,675s
user	0m4,261s
sys	0m0,433s

But now I realised that calibrator only returns a 5-year resolution. That's a crucial difference. If I did this as well, I'm sure I could bring the runtime down a lot!

But I don't know if I want to go there. Year-wise resolution can be useful for many applications. Maybe this should be an option to be set by the user.

@MartinHinz
Copy link

See the point. Although, it is more than the order of a magnitude. Is this really only the resolution? BtW, worth, writing an article comparing the calibration solutions in existence? Speed, and accuracy, in term of mututal agreement?

@nevrome
Copy link
Owner Author

nevrome commented Jul 5, 2021

Right - probably there's way more that makes currycarbon slow.

But the yearly resolution has a number of consequences: Interpolation of intermediate calCurve values, 5 times more calls to dnorm (where the program spends 30-40% of its runtime), and also 5 times more vector-matrix multiplications (10% of the runtime).

@nevrome nevrome closed this as completed Sep 5, 2021
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

No branches or pull requests

2 participants