- Notifications
You must be signed in to change notification settings - Fork 22
Codeflash trace decorator #59
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
151 commits Select commit Hold shift + click to select a range
3480718 initial implementation for pytest benchmark discovery
alvin-r 7f917a0 Merge branch 'refs/heads/main' into pytest-benchmark
alvin-r 133a9e3 initial implementation for tracing benchmarks using a plugin, and pro…
alvin-r 2f26695 initial implementation of tracing benchmarks via the plugin
alvin-r 32b0d3b Merge branch 'main' into pytest-benchmark
alvin-r 6b4b68a basic version working on bubble sort
alvin-r 887e3cb initial attempt for codeflash_trace_decorator
alvin-r 84bd0f0 improvements
alvin-r 1c3919d Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r c4694b7 work on new replay_test logic
alvin-r c150c05 Merge branch 'main' into codeflash-trace-decorator
alvin-r 1801d41 initial replay test version working
alvin-r 88a11d3 Merge branch 'main' into codeflash-trace-decorator
alvin-r f7466a5 replay test functionality working for functions, methods, static meth…
alvin-r 4c19e6f restored overwritten logic
alvin-r 7eba031 functioning end to end, gets the funciton impact on benchmarks
alvin-r 896aa52 modified printing of results, handle errors when collecting benchmarks
alvin-r ad17de4 tests pass
alvin-r 92e6bf5 revert pyproject.toml
alvin-r 4784723 mypy fixes
alvin-r 5f05711 Merge branch 'main' into codeflash-trace-decorator
alvin-r b77a979 import changes
alvin-r 8878baf Merge branch 'pytest-plugin-blocker' into codeflash-trace-decorator
alvin-r 0c2a3b6 removed benchmark skip command
alvin-r 9a41bdd shifted benchmark class in plugin, improved display of benchmark info
alvin-r 5577cd5 cleanup tests better
alvin-r 83f1c1c Merge branch 'main' into codeflash-trace-decorator
alvin-r 80730f9 modified paths in test
alvin-r d610f8c typing fix
alvin-r 93f583c typing fix for 3.9
alvin-r d422e35 typing fix for 3.9
alvin-r d664040 Merge branch 'main' into codeflash-trace-decorator
alvin-r 1637810 works with multithreading, added test
alvin-r 684acf8 Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r 6180c9d refactored get_function_benchmark_timings and get_benchmark_timings i…
alvin-r fa93df6 Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r 67d3f19 fixed isort
alvin-r f4be9be modified PR info
alvin-r 77f43a5 mypy fix
alvin-r da6385f use dill instead of pickle
alvin-r f34f22f modified the benchmarking approach. codeflash_trace and codeflash_ben…
alvin-r 57b80ec started implementing group by benchmark
alvin-r 87ad743 Merge branch 'refs/heads/merge_test_results_into_models' into codefla…
alvin-r d03ed96 Merge branch 'merge_test_results_into_models' into codeflash-trace-de…
alvin-r 8d95b18 Merge branch 'main' into codeflash-trace-decorator
alvin-r 56e3447 reworked matching benchmark key to test results.
alvin-r 5a34697 Merge branch 'main' into codeflash-trace-decorator
alvin-r 5f86bdd PRAGMA journal to memory to make it faster
alvin-r 20890fa Merge branch 'main' into codeflash-trace-decorator
alvin-r 9764c25 benchmarks root must be subdir of tests root
alvin-r d703b13 replay tests are now grouped by benchmark file. each benchmark test f…
alvin-r 14c33f9 Merge branch 'main' into codeflash-trace-decorator
alvin-r c6a201b Merge branch 'main' into codeflash-trace-decorator
alvin-r 30ec0c4 Use module path instead of file path for benchmarks, improved display…
alvin-r cf00212 Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r bb9c5db benchmark flow is working. changed paths to use module_path instead o…
alvin-r 7d9c4e1 Merge branch 'main' into codeflash-trace-decorator
alvin-r 1928dc4 fixed string error
alvin-r 217e239 fixed mypy error
alvin-r 96dd780 new end to end test for benchmarking bubble sort
alvin-r 5785875 renamed test
alvin-r d656d3b fixed e2e test
alvin-r 4d0eb3d printing issues on github actions
alvin-r 6100620 attempt to use horizontals for rows
alvin-r 21a79eb added row lines
alvin-r b374b6e made benchmarks-root use resolve()
alvin-r 27a6488 handled edge case for instrumenting codeflash trace
alvin-r 4a24f2c fixed slight bug with formatting table
alvin-r 9de664b improved file removal after errors
alvin-r a8d4fda fixed a return bug
alvin-r 4d53330 Merge branch 'jedi_ctx_fix' into codeflash-trace-decorator
alvin-r c82a3a3 Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r 1f3fcff Support recursive functions, and @benchmark / @pytest.mark.benchmark …
alvin-r fe63652 basic pickle patch version working
alvin-r d653d0d draft of end to end test
alvin-r a73b541 initial implementation for pytest benchmark discovery
alvin-r 965e2c8 initial implementation for tracing benchmarks using a plugin, and pro…
alvin-r 7590c29 initial implementation of tracing benchmarks via the plugin
alvin-r 034bed3 basic version working on bubble sort
alvin-r 1f3fd4d initial attempt for codeflash_trace_decorator
alvin-r 5faccd8 improvements
alvin-r d6217e8 work on new replay_test logic
alvin-r 26b2c4f initial replay test version working
alvin-r adffb9d replay test functionality working for functions, methods, static meth…
alvin-r f9144ec restored overwritten logic
alvin-r c29c8bf functioning end to end, gets the funciton impact on benchmarks
alvin-r 54fe71f modified printing of results, handle errors when collecting benchmarks
alvin-r 5fd112a tests pass
alvin-r 8194554 revert pyproject.toml
alvin-r 4c1d2af mypy fixes
alvin-r 6e676e9 import changes
alvin-r 62f3b36 removed benchmark skip command
alvin-r a614972 shifted benchmark class in plugin, improved display of benchmark info
alvin-r 82cb7a9 cleanup tests better
alvin-r 7601895 modified paths in test
alvin-r 4d69427 typing fix
alvin-r ebe3e12 typing fix for 3.9
alvin-r 0449d0d typing fix for 3.9
alvin-r baac964 works with multithreading, added test
alvin-r 357f586 refactored get_function_benchmark_timings and get_benchmark_timings i…
alvin-r 9efa47f fixed isort
alvin-r 64b4c64 modified PR info
alvin-r 4c61de9 mypy fix
alvin-r eda0d46 use dill instead of pickle
alvin-r a82e9f0 modified the benchmarking approach. codeflash_trace and codeflash_ben…
alvin-r 582bea0 started implementing group by benchmark
alvin-r e5a8260 reworked matching benchmark key to test results.
alvin-r 0937329 PRAGMA journal to memory to make it faster
alvin-r ed8f5ef benchmarks root must be subdir of tests root
alvin-r 75c1be7 replay tests are now grouped by benchmark file. each benchmark test f…
alvin-r b3c8320 Use module path instead of file path for benchmarks, improved display…
alvin-r 972ef46 benchmark flow is working. changed paths to use module_path instead o…
alvin-r 06b3818 fixed string error
alvin-r 37577e7 fixed mypy error
alvin-r 5c30d3e new end to end test for benchmarking bubble sort
alvin-r 906e434 renamed test
alvin-r 821fa47 fixed e2e test
alvin-r 41f7e0a printing issues on github actions
alvin-r c20f29a attempt to use horizontals for rows
alvin-r d1a8d25 added row lines
alvin-r 705105c made benchmarks-root use resolve()
alvin-r 26546de handled edge case for instrumenting codeflash trace
alvin-r 0c04adf fixed slight bug with formatting table
alvin-r 30d32bb improved file removal after errors
alvin-r c997b90 fixed a return bug
alvin-r d6ed1c3 Support recursive functions, and @benchmark / @pytest.mark.benchmark …
alvin-r a4c4c2d Merge remote-tracking branch 'origin/codeflash-trace-decorator' into …
alvin-r 40e416e Merge branch 'refs/heads/main' into codeflash-trace-decorator
alvin-r 3158f9c end to end test that proves picklepatcher works. example shown is a s…
alvin-r 9578854 Merge branch 'main' into codeflash-trace-decorator
alvin-r 4bb0aad minor fix for removing files
alvin-r 790d77c fixes to sync with main
alvin-r fce641e Merge branch 'main' into codeflash-trace-decorator
alvin-r b70c4c9 Merge branch 'main' into codeflash-trace-decorator
alvin-r 28fd746 cmd init changes
alvin-r 4e8483b created benchmarks for codeflash, modified codeflash-optimize to use …
alvin-r efc91d6 Merge branch 'main' into codeflash-trace-decorator
alvin-r 0680f79 added benchmarks root
alvin-r 583b464 removed comment
alvin-r 1eaaad7 debugging
alvin-r ab9079b debugging
alvin-r d7274ec removed benchmark-skip
alvin-r a624221 added pytest-benchmark as dependency
alvin-r 605d078 updated pyproject
alvin-r 78871fe gha failing on multithreaded t est
alvin-r 0146d82 line number test is off by 1 for python versions 39 and 310, removed …
alvin-r 6c1a369 Merge branch 'main' into codeflash-trace-decorator
alvin-r 3017ccf 100 max function calls before flushing to disk instead of 1000
alvin-r f14cf01 skip multithreaded benchmark test if machine is single threaded (fixe…
alvin-r e5ca10f marked multithreaded trace benchmarks test to be skipped during CI as…
alvin-r 683c9f6 shift check for pickle placerholder access error in comparator
alvin-r File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Support recursive functions, and @benchmark / @pytest.mark.benchmark …
…ways of using benchmark. created tests for all of them
- Loading branch information
commit d6ed1c33c4a307bbf7ae3be57d22dc6ed25951cb
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions 6 code_to_optimize/tests/pytest/benchmarks_test/test_recursive_example.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| from code_to_optimize.bubble_sort_codeflash_trace import recursive_bubble_sort | ||
| | ||
| | ||
| def test_recursive_sort(benchmark): | ||
| result = benchmark(recursive_bubble_sort, list(reversed(range(500)))) | ||
| assert result == list(range(500)) |
11 changes: 11 additions & 0 deletions 11 code_to_optimize/tests/pytest/benchmarks_test_decorator/test_benchmark_decorator.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| import pytest | ||
| from code_to_optimize.bubble_sort_codeflash_trace import sorter | ||
| | ||
| def test_benchmark_sort(benchmark): | ||
| @benchmark | ||
| def do_sort(): | ||
| sorter(list(reversed(range(500)))) | ||
| | ||
| @pytest.mark.benchmark(group="benchmark_decorator") | ||
| def test_pytest_mark(benchmark): | ||
| benchmark(sorter, list(reversed(range(500)))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.