Skip to main content

GSO: Challenging Software Optimization Tasks for Evaluating SWE-Agents

GSO (Global Software Optimization) is a benchmark for evaluating language models' capabilities in developing high-performance software. We present 100+ challenging optimization tasks across 10 codebases spanning diverse domains and programming languages. Each task provides a codebase and performance test as a precise specification, with agents required to optmize the codebase and measured against expert developer commits.

📰 News

  • [Feb 2, 2026]: Released integrations with frameworks like Harbor and other scaffolds: gso-bench/scaffolds.
  • [Dec 23, 2025]: Released evaluation logs and transcripts w/ Docent support: gso-bench/gso-experiments.
  • [Nov 3, 2025]: Released GSO's HackDetector that catches models reward hacking: GSO Blog.
  • [May 30, 2025]: 🤗 GSO dataset is now available on HuggingFace! Access it at gso-bench/gso.
  • [May 30, 2025]: Prebuilt docker images for GSO tasks are now available on Docker Hub.
  • [May 30, 2025]: Initial release of the GSO benchmark: gso-bench.github.io

👋 Overview

GSO evaluates language models on software performance optimization. Each task provides:

  • A codebase with a specific performance bottleneck
  • A performance test as a precise specification
  • An agent must generate a patch that improves runtime efficiency
  • Success is measured against expert developer optimizations

To access GSO, copy and run the following code:

from datasets import load_dataset
gso = load_dataset('gso-bench/gso', split='test')

🚀 Setup

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

git clone --recursive https://github.com/gso-bench/gso.git
cd gso && uv venv && source .venv/bin/activate
uv sync

(Additional) Setup HuggingFace token:

export HF_TOKEN="huggingface_token"

💽 Usage

Evaluation Harness

  1. Building Dockers for GSO tasks:
docker login

uv run src/gso/harness/prepare_images.py \
    --push_to_registry True \
    --dockerhub_username <dockerhub_username> \
    --dockerhub_repo <dockerhub_repo>
  1. Running Evaluations:
uv run src/gso/harness/opt_at_k.py \
    --prediction_paths <prediction_path> \
    --timeout 3600 \
    --run_id <run_id> \
    --k 1 \
    --model <modelname>

For detailed instructions and options, see the Harness documentation.

GSO Collection Framework

The collection framework enables you to create your own GSO tasks through a four-step pipeline:

  1. Commit Extraction & Filtering: Extract performance-related commits using LLMs
  2. API Identification: Identify affected high-level APIs for each commit
  3. Performance Test Generation: Generate tests for API-Commit pairs
  4. Test Execution: Execute tests to identify performance improvements

For detailed instructions and usage, see the Collection Framework documentation.

⬇️ Artifacts

Datasets Tools Dockers
💿 GSO 🔧 Evaluation Harness 🐳 Docker Hub
🔧 Collection Framework

💫 Contributions

We welcome contributions from the broader NLP, Machine Learning, and Software Engineering research communities! Please file a new pull request or issue and fill in the corresponding templates accordingly.

✍️ Citation & license

MIT license. Check LICENSE file.

Metadata

Release files for gsobench 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gsobench 0.1.9
File Size Uploaded
gsobench-0.1.9.tar.gz 250.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gsobench 0.1.9
File Interpreter ABI Platform
gsobench-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 394.5 kB

Release files / gsobench-0.1.9.tar.gz

Download URL gsobench-0.1.9.tar.gz
Size 250.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f436feaf14519bdc89bf1374efddedc2dfa632ae5321a435b6ec44c0517e9541
BLAKE2b-256 checksum
How to use checksums
02c12ca0455cbf90c3c372887fc1ab3a71a16a1505bf2aa51dcb9712dee5c1a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / gsobench-0.1.9-py3-none-any.whl

Download URL gsobench-0.1.9-py3-none-any.whl
Size 143.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0595e0473466030557558ecfc72438b65b4b7d3f228df99fa6de6d942f2382ef
BLAKE2b-256 checksum
How to use checksums
59f1cda4f78ce071a7ee17af63143dfed35a3d17927233f9a0da0cd2d9176379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page