English
Related papers

Related papers: Perfrewrite -- Program Complexity Analysis via Sou…

200 papers

Code optimization is a challenging task requiring a substantial level of expertise from developers. Nonetheless, this level of human capacity is not sufficient considering the rapid evolution of new hardware architectures and software…

In Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

Performance profiling consists of tracing a software system during execution and then analyzing the obtained traces. However, traces themselves affect the performance of the system distorting its execution. Therefore, there is a need to…

Performance · Computer Science 2007-05-23 Edu Metz , Raimondas Lencevicius

The key to speeding up applications is often understanding where the elapsed time is spent, and why. This document reviews in depth the full array of performance analysis tools and techniques available on Linux for this task, from the…

Performance · Computer Science 2007-05-23 Michel R. Dagenais , Karim Yaghmour , Charles Levert , Makan Pourzandi

Data profiling is critical in machine learning for generating descriptive statistics, supporting both deeper understanding and downstream tasks like data valuation and curation. This work addresses profiling specifically in the context of…

Software Engineering · Computer Science 2025-03-21 Pankaj Thorat , Adnan Qidwai , Adrija Dhar , Aishwariya Chakraborty , Anand Eswaran , Hima Patel , Praveen Jayachandran

Profile Guided Optimization (PGO) uses runtime profiling to direct compiler optimization decisions, effectively combining static analysis with actual execution behavior to enhance performance. Runtime profiles, collected through…

Performance · Computer Science 2025-07-23 Bingxin Liu , Yinghui Huang , Jianhua Gao , Jianjun Shi , Yongpeng Liu , Yipin Sun , Weixing Ji

Prompt engineering is critical for the development of LLM-based applications. However, it is usually done manually in a "trial and error" fashion that can be time consuming, ineffective, and sub-optimal. Even for the prompts which seemingly…

Artificial Intelligence · Computer Science 2024-06-11 Weize Kong , Spurthi Amba Hombaiah , Mingyang Zhang , Qiaozhu Mei , Michael Bendersky

Input-sensitive profiling is a recent performance analysis technique that makes it possible to estimate the empirical cost function of individual routines of a program, helping developers understand how performance scales to larger inputs…

Performance · Computer Science 2013-04-16 Emilio Coppa , Camil Demetrescu , Irene Finocchi , Romolo Marotta

A probabilistic program defines a probability measure over its semantic structures. One common goal of probabilistic programming languages (PPLs) is to compute posterior probabilities for arbitrary models and queries, given observed…

Artificial Intelligence · Computer Science 2016-07-01 Yi Wu , Lei Li , Stuart Russell , Rastislav Bodik

Reducing application runtime, scaling parallel applications to higher numbers of processes/threads, and porting applications to new hardware architectures are tasks necessary in the software development process. Therefore, developers have…

Software Engineering · Computer Science 2017-12-06 Ronny Tschüter , Johannes Ziegenbalg , Bert Wesarg , Matthias Weber , Christian Herold , Sebastian Döbel , Ronny Brendel

Profiling tools (also known as profilers) play an important role in understanding program performance at runtime, such as hotspots, bottlenecks, and inefficiencies. While profilers have been proven to be useful, they give extra burden to…

Software Engineering · Computer Science 2025-08-06 Zhuoran Liu

Configuration settings are essential for tailoring software behavior to meet specific performance requirements. However, incorrect configurations are widespread, and identifying those that impact system performance is challenging due to the…

Software Engineering · Computer Science 2024-06-19 Zehao Wang , Dong Jae Kim , Tse-Hsun Chen

Memory profiling captures programs' dynamic memory behavior, assisting programmers in debugging, tuning, and enabling advanced compiler optimizations like speculation-based automatic parallelization. As each use case demands its unique…

Performance · Computer Science 2023-11-07 Ziyang Xu , Yebin Chon , Yian Su , Zujun Tan , Sotiris Apostolakis , Simone Campanoni , David I. August

While high-level languages come with significant readability and maintainability benefits, their performance remains difficult to predict. For example, programmers may unknowingly use language features inappropriately, which cause their…

Programming Languages · Computer Science 2018-09-13 Leif Andersen , Vincent St-Amour , Jan Vitek , Matthias Felleisen

The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from…

Programming Languages · Computer Science 2019-11-13 G. A. Kavvos , Edward Morehouse , Daniel R. Licata , Norman Danner

We present a technique to infer lower bounds on the worst-case runtime complexity of integer programs, where in contrast to earlier work, our approach is not restricted to tail-recursion. Our technique constructs symbolic representations of…

Logic in Computer Science · Computer Science 2020-09-29 Florian Frohn , Matthias Naaf , Marc Brockschmidt , Jürgen Giesl

Profiling various application characteristics, including the number of different arithmetic operations performed, memory footprint, etc., dynamically is time- and space-consuming. On the other hand, static analysis methods, although fast,…

Software Engineering · Computer Science 2023-11-28 Atanu Barai , Nandakishore Santhi , Abdur Razzak , Stephan Eidenbenz , Abdel-Hameed A. Badawy

We present a new method for inferring complexity properties for a class of programs in the form of flowcharts annotated with loop information. Specifically, our method can (soundly and completely) decide if computed values are polynomially…

Programming Languages · Computer Science 2016-07-11 Amir M. Ben-Amram , Aviad Pineles

Tools for algorithmic differentiation (AD) provide accurate derivatives of computer-implemented functions for use in, e. g., optimization and machine learning (ML). However, they often require the source code of the function to be available…

Mathematical Software · Computer Science 2022-12-29 Max Aehle , Johannes Blühdorn , Max Sagebaum , Nicolas R. Gauger

Software systems usually provide numerous configuration options that can affect performance metrics such as execution time, memory usage, binary size, or bitrate. On the one hand, making informed decisions is challenging and requires domain…

‹ Prev 1 2 3 10 Next ›