Releases: pyutils/line_profiler
Releases · pyutils/line_profiler
Version 4.1.3
Version 4.1.3
- FIX: duration summary now respects the stripzeros argument.
- FIX: minor test fixes.
- ENH: building osx wheels for x86 and arm64.
- ENH: documentation improvements.
- ENH: signed wheels are now hosted on github and published as release artifacts.
What's Changed
- Invoke subshell with the current python interpreter by @dirkmueller in #252
- Maintenance Branch Dev/4.1.3 by @Erotemic in #257
- Add modern quickstart instructions to README by @Erotemic in #259
- Respect stripzeros in summary report by @Erotemic in #260
- Ensure x86 and arm64 wheels are built for osx by @Erotemic in #263
- Normalize path before comparison @amirebrahimi in #264
New Contributors
- @dirkmueller made their first contribution in #252
- @amirebrahimi made their first contribution in #264
Full Changelog: v4.1.2...refs/heads/release
Version 4.1.2
Version 4.1.1
4.1.1
* FIX: ``get_stats`` is no longer slowed down when profiling many code sections #236
Thanks @klauer
Version 4.1.0
This new version contains big quality of life improvements.
Highlights
Documentation: We now have readthedocs documentation that covers usage tutorials and the API.
Explicit Decorator: There is now a global profile decorator. In your code import line_profiler
and decorate functions with @line_profiler.profile
. Your code runs as normal by default. Setting the environment variable LINE_PROFILE=1
will enable profiling. For details see the docs.
Auto-Profiling: Users can now run kernprof with -p <modname>
to profile all functions in a module without explicitly decorating them. For details see the docs.
CHANGELOG
- FIX: skipzeros now checks for zero hits instead of zero time
- FIX: Fixed errors in Python 3.11 with duplicate functions.
- FIX:
show_text
now increases column sizes or switches to scientific notation to maintain alignment - ENH:
show_text
now has new options: sort and summarize - ENH: Added new CLI arguments
-srm
toline_profiler
to control sorting, rich printing, and summary printing. - ENH: New global
profile
function that can be enabled by--profile
orLINE_PROFILE=1
. - ENH: New auto-profile feature in
kernprof
that will profile all functions in specified modules. - ENH: Kernprof now outputs instructions on how to view results.
- ENH: Added readthedocs integration: https://kernprof.readthedocs.io/en/latest/index.html
Version 4.0.3
4.0.3
* FIX: Stop requiring bleeding-edge Cython unless necesasry (for Python 3.12). #206
Version 4.0.2
- FIX: AttributeError on certain methods. #191
Version 4.0.1
- FIX: Profiling classmethods works again. #183
Version 4.0.0
- ENH: Python 3.11 is now supported.
- ENH: Profiling overhead is now drastically smaller, thanks to reimplementing almost all of the tracing callback in C++. You can expect to see reductions of between 0.3 and 1 microseconds per line hit, resulting in a speedup of up to 4x for codebases with many lines of Python that only do a little work per line.
- ENH: Added the
-i <# of seconds>
option to thekernprof
script. This uses the threading module to output profiling data to the output file every n seconds, and is useful for long-running tasks that shouldn't be stopped in the middle of processing. - CHANGE: Cython's native cythonize function is now used to compile the project, instead of scikit-build's convoluted process.
- CHANGE: Due to optimizations done while reimplementing the callback in C++, the profiler's code_map and last_time attributes now are indexed by a hash of the code block's bytecode and its line number. Any code that directly reads (and processes) or edits the code_map and/or last_time attributes will likely break.
Thanks to @Theelx and others for all of their hard work on this!
Version 3.5.1
3.5.1
* FIX: #19 line profiler now works on async functions again