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

Profiling #44

Closed
jstac opened this issue Aug 7, 2014 · 12 comments
Closed

Profiling #44

jstac opened this issue Aug 7, 2014 · 12 comments
Assignees

Comments

@jstac
Copy link
Contributor

jstac commented Aug 7, 2014

At this stage we have no discussion of profiling code to find bottlenecks. Here's the IPython solution:

http://pynash.org/2013/03/06/timing-and-profiling.html

I also hear good things about this visual profiling library:

http://pycallgraph.slowchop.com/en/master/

@sglyon
Copy link
Member

sglyon commented Aug 7, 2014

One bonus for using nose to run our tests is that they have an option to automatically profile the code as the tests are run. If we can get to 100% coverage, then we should be able to see profiling results for all our code.

Also, if we just want to test a specific module, function, or method, we can just have nose run the specific test and profile only that one.

pandas uses a utility they wrote called vbench that keeps track of profiling results over time so they can track progress and easily find performance regressions (see their results by clicking on various links in the RHS sidebar here. Something similar to that would be cool for our project too.

@jstac
Copy link
Contributor Author

jstac commented Aug 8, 2014

@spencerlyon2 Thanks for those thoughts. I actually meant to put my comments in the lectures repo issue tracker, since I was thinking more of exposition. I'll move them over but leave this issue open so we can discuss your suggestions for QuantEcon code.

@sglyon
Copy link
Member

sglyon commented Jan 28, 2015

Ping.

Any interest in writing a suite of performance benchmarks that are tracked via vbench?

@davidrpugh
Copy link
Contributor

Possibly, but will need to read up on vbench first...

@mmcky
Copy link
Contributor

mmcky commented Aug 4, 2015

Anyone come across any other performance benchmark approaches other than vbench? I notice that the bench project hasn't had any contributions since 2013 - and pandas benchmarks end in 2012. Just thought I would check before investing time into this.

@mmcky
Copy link
Contributor

mmcky commented Oct 15, 2015

I have just come across this project which looks like a good benchmarking tool.
https://github.com/spacetelescope/asv/
It looks like pandas and astropy have started to use this.
Example site: http://mdboom.github.io/astropy-benchmark/

@jstac
Copy link
Contributor Author

jstac commented Oct 15, 2015

@mmcky It definitely looks useful. You need stable hardware to keep the comparisons consistent but we will have that soon in Singapore...

@mmcky mmcky self-assigned this Nov 14, 2016
@mmcky
Copy link
Contributor

mmcky commented Nov 14, 2016

@mmcky
Copy link
Contributor

mmcky commented Nov 22, 2016

I have started setting up asv benchmarks for QuantEcon.py.
It currently contains only two benchmarks which is an arma simulation and impulse response but I will use tests to populate some more benchmarks over the coming weeks.

https://github.com/QuantEcon/QuantEcon.py.benchmark

@mmcky
Copy link
Contributor

mmcky commented Nov 22, 2016

I think this issue can now be tracked through the new repository -- except the original comments about profiling are still valid. @jstac should we move your early comments to a new lecture issue?

@jstac
Copy link
Contributor Author

jstac commented Nov 22, 2016

@mmcky Good call, yes please.

@mmcky
Copy link
Contributor

mmcky commented Nov 22, 2016

Closing this discussion now. New comments on vbench and profiling can be made in the benchmark repo.

@mmcky mmcky closed this as completed Nov 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants