QuantEcon / QuantEcon/QuantEcon.py
Big perf gains by converting important methods to numba
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.4k
- Forks
- 2.3k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 3
Description
Hi QuantEcon team,
I'm Saurabh, building codeflash.ai. I've contributed a few performance optimizations for QuantEcon.py previously. One of the previous feedback was to convert an optimization to numba, we took that feedback and optimized the rest of the library with numba.
We have exciting results to share!
- solve_discrete_riccati_system is faster by 544%. This fundamental improvement will be a big speedup. An alternate implementation that speeds Markov stationary values.
- nnash is faster by 218%. This will speed up Nash equilibrium calculations.
- integrate_variable_trajectory is faster by 687%! This is by removing a n^2 bottleneck.
There are a few others as well that I have reviewed and approved. Please take a look.
I would love to contribute these back to QuantEcon.py. Let me know if you have any feedback for the above optimizations? I would love to collaborate with you as I open Pull Requests for these to the main project.
Thanks,
Saurabh
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the referenced PRs for solve_discrete_riccati_system, nnash, and integrate_variable_trajectory, along with the approved open PR list. Confirm with maintainers which optimizations belong in QuantEcon.py and define completion around accepted changes and verification of the reported speedups.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100