Triangulating Python Performance Issues with Scalene
Not on the map. Why?
Abstract (arXiv)
This paper proposes Scalene, a profiler specialized for Python. Scalene combines a suite of innovations to precisely and simultaneously profile CPU, memory, and GPU usage, all with low overhead. Scalene's CPU and memory profilers help Python programmers direct their optimization efforts by distinguishing between inefficient Python and efficient native execution time and memory usage. Scalene's memory profiler employs a novel sampling algorithm that lets it operate with low overhead yet high precision. It also incorporates a novel algorithm that automatically pinpoints memory leaks, whether within Python or across the Python-native boundary. Scalene tracks a new metric called copy volume, which highlights costly copying operations that can occur when Python silently converts between C and Python data representations, or between CPU and GPU. Since its introduction, Scalene has been widely adopted, with over 500,000 downloads to date. We present experience reports from developers who used Scalene to achieve significant performance improvements and memory savings.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). First posted on arXiv 15 Dec 2022.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 3; 2024: 2.
5 papers.
- 2023Self-Refine: Iterative Refinement with Self-Feedbackcited by 3,317
- 2023Learning Performance-Improving Code Editscited by 103
- 2024Search-Based LLMs for Code Optimizationcited by 27
- 2024Multi-Programming Language Sandbox for LLMscited by 9
- 2023KEN: Kernel Extensions using Natural Languagecited by 0
- 2024Multi-Programming Language Sandbox for LLMs30 Oct 2024
- 2024Search-Based LLMs for Code Optimization22 Aug 2024
- 2023KEN: Kernel Extensions using Natural Language9 Dec 2023
- 2023Self-Refine: Iterative Refinement with Self-Feedback30 Mar 2023
- 2023Learning Performance-Improving Code Edits15 Feb 2023