English
Related papers

Related papers: Manual and Fast C Code Optimization

200 papers

Improving performance is a central concern for software developers. To locate optimization opportunities, developers rely on software profilers. However, these profilers only report where programs spent their time: optimizing that code may…

Performance · Computer Science 2016-08-15 Charlie Curtsinger , Emery D. Berger

Large Language Models (LLMs) have demonstrated impressive capabilities in understanding and generating codes. Due to these capabilities, many recent methods are proposed to automatically refine the codes with LLMs. However, we should…

Software Engineering · Computer Science 2024-10-31 Minju Seo , Jinheon Baek , Sung Ju Hwang

Performance models can be very useful for understanding the behavior of applications and hence can help guide design and optimization decisions. Unfortunately, performance modeling of nontrivial computations typically requires significant…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-18 Kewen Meng , Boyana Norris

Static analysis remains one of the most popular approaches for detecting and correcting poor or vulnerable program code. It involves the examination of code listings, test results, or other documentation to identify errors, violations of…

Artificial Intelligence · Computer Science 2021-08-27 Fitzroy D. Nembhard , Marco M. Carvalho

Computational models of human language often involve combinatorial problems. For instance, a probabilistic parser may marginalize over exponentially many trees to make predictions. Algorithms for such problems often employ dynamic…

Computation and Language · Computer Science 2021-09-16 Tim Vieira , Ryan Cotterell , Jason Eisner

Manual code reviews are an essential but time-consuming part of software development, often leading reviewers to prioritize technical issues while skipping valuable assessments. This paper presents an algorithmic model that automates…

Software Engineering · Computer Science 2024-09-24 Yegor Denisov-Blanch , Igor Ciobanu , Simon Obstbaum , Michal Kosinski

Automatic code optimization is a complex process that typically involves the application of multiple discrete algorithms that modify the program structure irreversibly. However, the design of these algorithms is often monolithic, and they…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

Optimizing software performance through automated code refinement offers a promising avenue for enhancing execution speed and efficiency. Despite recent advancements in LLMs, a significant gap remains in their ability to perform in-depth…

Software Engineering · Computer Science 2025-01-30 Manish Acharya , Yifan Zhang , Kevin Leach , Yu Huang

Code optimization is the process of enhancing code efficiency, while preserving its intended functionality. This process often requires a deep understanding of the code execution behavior at run-time to identify and address inefficiencies…

Software Engineering · Computer Science 2026-04-02 Federico Di Menna , Luca Traini , Gabriele Bavota , Vittorio Cortellessa

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR)…

Programming Languages · Computer Science 2011-11-22 Sebastian Buchwald , Edgar Jakumeit

Iterative compilation is a widely adopted technique to optimize programs for different constraints such as performance, code size and power consumption in rapidly evolving hardware and software environments. However, in case of statically…

Programming Languages · Computer Science 2014-07-16 Lianjie Luo , Yang Chen , Chengyong Wu , Shun Long , Grigori Fursin

Recent advances in Large Language Models have led to remarkable achievements across a variety of Natural Language Processing tasks, making prompt engineering increasingly central to guiding model outputs. While manual methods can be…

Computation and Language · Computer Science 2025-07-15 Wendi Cui , Zhuohang Li , Hao Sun , Damien Lopez , Kamalika Das , Bradley A. Malin , Sricharan Kumar , Jiaxin Zhang

Optimizations in a traditional compiler are applied sequentially, with each optimization destructively modifying the program to produce a transformed program that is then passed to the next optimization. We present a new approach for…

Programming Languages · Computer Science 2015-07-01 Ross Tate , Michael Stepp , Zachary Tatlock , Sorin Lerner

Optimizing programs to run efficiently on modern parallel hardware is hard but crucial for many applications. The predominantly used imperative languages - like C or OpenCL - force the programmer to intertwine the code describing…

Programming Languages · Computer Science 2020-02-07 Bastian Hagedorn , Johannes Lenfers , Thomas Koehler , Sergei Gorlatch , Michel Steuwer

Since the mid-1990s, researchers have been trying to use machine-learning based approaches to solve a number of different compiler optimization problems. These techniques primarily enhance the quality of the obtained results and, more…

Programming Languages · Computer Science 2018-09-05 Amir H. Ashouri , William Killian , John Cavazos , Gianluca Palermo , Cristina Silvano

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

Large Language Models (LLMs), particularly Code LLMs, have demonstrated impressive performance in code generation. Current research primarily focuses on the correctness of generated code, while efficiency remains less explored. Recent works…

Software Engineering · Computer Science 2025-02-27 Tong Ye , Weigang Huang , Xuhong Zhang , Tengfei Ma , Peiyu Liu , Jianwei Yin , Wenhai Wang

Quantum computers promise to perform certain computations exponentially faster than any classical device. Precise control over their physical implementation and proper shielding from unwanted interactions with the environment become more…

Quantum Physics · Physics 2021-11-19 Thomas Häner , Torsten Hoefler , Matthias Troyer

Algorithm design is a laborious process and often requires many iterations of ideation and validation. In this paper, we explore automating algorithm design and present a method to learn an optimization algorithm, which we believe to be the…

Machine Learning · Computer Science 2016-06-07 Ke Li , Jitendra Malik

New information technologies provide a lot of prospects for performance improvement. One of them is "Dynamic Source Code Generation and Compilation". This article shows how this way provides high performance for engineering problems.

Performance · Computer Science 2008-08-25 Petr R. Ivankov