systematic, quantitative approach to ensuring that software systems meet their performance requirements (such as response time, throughput, scalability, and resource utilization) throughout the entire software development lifecycle. Response time Throughput Scalability Resource utilization How long a single request takes How much work per unit of time How it behaves as load grows CPU, memory, I/O, cost 2 / 16
A N C E Generate optimized code Optimize existing code Write new code that is efficient from the start. Make an existing, real code base faster. Without breaking it. Problem spec LLM New code Code + benchmark LLM Faster patch 5 / 16
S test_3sum.py # input prompt """ Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets. """ class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: … <generate> … # benchmarking code def check(): Solution().threeSum([82597, -9243, 83030, ...]) Solution().threeSum([0, 0, 0, 0, ...]) Solution().threeSum([0, 0, -1, -1, ...]) import pytest @pytest.mark.benchmark(group="3sum") def test_3sum_generated_1(benchmark): benchmark(check) T. Coignion, C. Quinton, R. Rouvoy. “A Performance Study of LLM-Generated Code on LeetCode.” EASE 2024 6 / 16
S test_3sum.py # input prompt """ Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets. """ class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: # generated code nums.sort() res = [] for i in range(len(nums) - 2): ... Real performance issues are a lot more complex than that. # benchmarking code def check(): Solution().threeSum([82597, -9243, 83030, ...]) Solution().threeSum([0, 0, 0, 0, ...]) Solution().threeSum([0, 0, -1, -1, ...]) import pytest @pytest.mark.benchmark(group="3sum") def test_3sum_generated_1(benchmark): benchmark(check) T. Coignion, C. Quinton, R. Rouvoy. “A Performance Study of LLM-Generated Code on LeetCode.” EASE 2024 7 / 16
C E LLM patches improve performance (barely) HO W TO RE AD IT pss = speedup score; 1.0 = no change, > 1 = faster Red dashed: original code (baseline) Blue dotted: developer solution (median) Context helps With no hints, LLM patches barely change performance. Not human-competitive Developer solutions remain superior to every LLM configuration. L. Yi, G. Gay, P. Leitner. “An Experimental Study of Real-Life LLM-Proposed Performance Improvements.” arXiv 2025 · arXiv:2510.15494 9 / 16
TE X T Why do LLMs struggle? They only see the code What an LLM sees The source code — and nothing else Software Systems code infrastructure & platforms What it doesn’t see Performance Usage The system it runs on, and how it is actually used. Performance emerges from all three. Fixing it from the code alone is guesswork. workloads 10 / 16
O R K Faster code … at a price Better-performing code than a single-pass LLM BUT 45+ min Tokens < Human Long run-time Higher token consumption Not human-competitive for a single optimization task — benchmarking and profiling dominate every loop iteration means more LLM calls — cost and sustainability still nowhere near what experienced performance engineers achieve 13 / 16
U S? 1 2 3 Give agents systems & usage context Keep developers in the loop AI can’t fully capture the human secret sauce Production profiles, workload traces and infrastructure data — not just source code. The agent does the legwork — profiling, benchmarking, candidate patches. Engineers decide. Experienced engineers still outperform the agent — intuition and domain knowledge are hard to automate. 14 / 16
in Gothenburg We are looking for industrial sponsors Meet the performance engineering community from academia and industry. May 24–28, 2027 18th ACM/SPEC ICPE Gothenburg, Sweden Talk to me after the session → icpe2027.spec.org Program, calls and registration 15 / 16
G References 1 Closing the Profiling Loop: An Agentic Framework for Performance Optimization. L. Yi, L. Salerno, G. Gay, P. Leitner. Under submission, 2026. 2 An Experimental Study of Real-Life LLM-Proposed Performance Improvements. L. Yi, G. Gay, P. Leitner. arXiv 2025 (arXiv:2510.15494). 3 A Performance Study of LLM-Generated Code on LeetCode. T. Coignion, C. Quinton, R. Rouvoy. EASE 2024. 4 Exploring Performance Assurance Practices and Challenges in Agile Software Development: An Ethnographic Study. L. Traini. EMSE 2022. 16 / 16