Skip to content

Releases: plasma-umass/scalene

Further improvements to AI-powered proposed optimizations

06 Jan 20:37
Compare
Choose a tag to compare

What's Changed

  • Proposed optimizations now can be applied to identified regions (loops or functions) instead of just individual lines by @emeryberger in #534

Full Changelog: v1.5.18...v1.5.19

Maintenance release, attempting to fix Conda builds

02 Jan 20:23
Compare
Choose a tag to compare

Changed case of Cython in dependency to work with case-sensitive filesystems. Also includes minor UI tweaks.

Major UI enhancement, including AI-powered optimization suggestions

01 Jan 23:48
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Scalene now incorporates AI-powered optimization suggestions. To enable these, you need to enter an OpenAI key:

Screenshot 2023-01-01 at 6 36 40 PM

Once a valid key is entered, click on the lightning bolt (⚡) beside any line to generate a proposed optimization.

Screenshot 2023-01-01 at 6 39 12 PM

You can click as many times as you like on the lightning bolt, and it will generate different suggested optimizations.
Your mileage may vary, but in some cases, the suggestions are quite impressive. While this is currently limited to optimizing a single
line, we anticipate broadening this to groups of lines or even functions in the near future. To our knowledge, this is the first
integration of AI into profilers. It's a brave new world.

  • The web UI now incorporates collapsible profiles to web GUI (#527). You can now
    toggle the displayed lines of code (all or reduced), and show/hide individual files.

Screenshot 2023-01-01 at 6 44 13 PM

Bug fixes

  • Improved logic for filtering out Python libraries from results.
  • Added sorting to memory sample intake, made JSON work with subprocesses by @sternj in #513
  • Fix C should_trace to support OS-specific path separators by @emeryberger in #521
  • Eliminates binary file reading/writing and dependency on linecache. by @emeryberger in #522
  • Disable Windows switching of on/off status of profiling for background processes by @emeryberger in #523
  • Fixed some Win32 issues. by @emeryberger in #524

Full Changelog: v1.5.16...v1.5.17

Improved performance, better visualizations, a number of minor fixes

08 Dec 20:27
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Memory profiling now occasionally much faster: reimplemented settrace callback in C by @sternj (#479, #492, #494)
  • Incorporates (RDP) algorithm to compress visualizations without sacrificing overall shape by @emeryberger
    • Uses local fork of crdp to include its dependency on Cython
  • Improves time and space reporting logic for units (e.g., ms, s, m) by @emeryberger (2041b10)

Bug fixes

Other

Full Changelog: v1.5.15...v1.5.16

UI and CLI enhancements, improved multiprocessing/module support, and Windows bugfixes

16 Nov 23:20
Compare
Choose a tag to compare

What's Changed

  • Now generates HTML instead of using a web server by @emeryberger in #477
  • Clearer command-line parameters (--cpu, --gpu, and --memory) by @emeryberger in #477
  • Improved multiprocessing and module support by @RuRo in #484
  • Fixes several issues running Scalene on Windows by @emeryberger

New Contributors

  • @RuRo made their first contribution in #484

Full Changelog: v1.5.14...v1.5.15

Maintenance release: various bug fixes

04 Nov 15:05
Compare
Choose a tag to compare

Changes in this release:

Bug fixes:

  • Disabled GPU profiling for very old NVIDIA platforms that don't support profiling utilization and/or memory consumption; this used to lead to failures
  • More graceful handling of non source files (which could lead to failures)
  • Uses correct path regardless of changes to the working directory

UI:

  • forced profiles in Jupyter cells to consume 100% of the available width
  • minor usability fix for Jupyter, fixing an issue with %scrun

Full Changelog: v1.5.13...v1.5.14

Disable GPU profiling for Apple, since it is unreliable

24 Sep 17:16
Compare
Choose a tag to compare

Changes in this release:

  • Disabled Apple GPU profiling for now since it is unreliable (the Apple GPU does not record activity on a per-process basis).

Full Changelog: v1.5.12...v1.5.13

Improved memory reporting

24 Sep 15:27
Compare
Choose a tag to compare

Changes in this release:

  • Corrected some memory attribution errors (primarily relating to calculating average memory per line/function, as well as a race condition).

Full Changelog: v1.5.11...v1.5.12

Maintenance release

12 Sep 00:44
Compare
Choose a tag to compare

Changes in this release:

  • Fixed pre-built MacOS Universal distributions not including M1 support;
  • Fixed Scalene's assumption it would remain in the same directory, which caused problems when the profiled program did a chdir.

Full Changelog: v1.5.10...v1.5.11

Maintenance release: fixes, warnings, and changes for Conda

18 Aug 00:14
Compare
Choose a tag to compare

Changes in this release:

  • Fixed a reference counting issue that could lead to failure (73c848b).
  • Increased an internal buffer size to ensure safe handling when Scalene is accessing very long directory / pathnames.
  • Added support for profiling applications that themselves use LD_PRELOAD (fixing #418).
  • Improved warning message for the current lack of support for multiprocessing on Windows (addressing #416).
  • Other changes to enable building on Conda (conda-forge/staged-recipes#18747).

Full Changelog: v1.5.9.1...v1.5.10