Skip to content

Releases: pyutils/line_profiler

Version 4.2.0

03 Dec 17:15
a646bf0
Compare
Choose a tag to compare

Automatic Release Notes.

What's Changed

New Contributors

Full Changelog: v4.1.3...refs/heads/release

Version 4.1.3

28 Apr 22:08
c715356
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v4.1.2...refs/heads/release

Version 4.1.2

02 Nov 23:39
1902bf1
Compare
Choose a tag to compare
  • ENH: Add support for Python 3.12 #246
  • ENH: Add osx universal2 and arm64 wheels #251
  • ENH: Fix issue with integer overflow on 32 bit systems #249

Version 4.1.1

22 Aug 02:51
c48f643
Compare
Choose a tag to compare

4.1.1

* FIX: ``get_stats`` is no longer slowed down when profiling many code sections #236

Thanks @klauer 

Version 4.1.0

17 Aug 04:32
ecf9c5b
Compare
Choose a tag to compare

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 to line_profiler to control sorting, rich printing, and summary printing.
  • ENH: New global profile function that can be enabled by --profile or LINE_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

Thanks to @Erotemic @ta946 @Theelx @notEvil

Version 4.0.3

04 Mar 00:16
6ffb10d
Compare
Choose a tag to compare

4.0.3

* FIX: Stop requiring bleeding-edge Cython unless necesasry (for Python 3.12).  #206

Version 4.0.2

09 Dec 15:03
6ee9f63
Compare
Choose a tag to compare
  • FIX: AttributeError on certain methods. #191

Version 4.0.1

16 Nov 00:35
623078e
Compare
Choose a tag to compare
  • FIX: Profiling classmethods works again. #183

Version 4.0.0

12 Nov 23:42
6f8c36e
Compare
Choose a tag to compare
  • 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 the kernprof 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

01 Apr 07:23
8788d13
Compare
Choose a tag to compare

3.5.1

* FIX: #19 line profiler now works on async functions again