situation

# Performance work and p99 without a performance engineer

Choose a performance Case from your repo. Perfloop measures the original code and the change under the same rules in the same environment. When no existing benchmark covers the change, the pull request ships a small benchmark by default.

## The workflow

1. Connect your repos in Setup. A model build reads the code and proposes performance hypotheses.
2. Before a merge, your coding agent can submit the branch for review through the MCP server.
3. Select **Work this case** on a Case. Its evidence shows the measured metrics, including p99 when the experiment records it, with paired samples and bounds on the median change.
4. With telemetry connected, a Watch checks a rule on a service. When it fires, Perfloop looks for the cause, and can start a Case if the repo allows automatic Case work. [The loop](https://perfloop.ai/docs/work) explains Watches, and [Connect your systems](https://perfloop.ai/docs/connect) lists the sources.

## Public Cases

In [Tigris TAG](https://perfloop.ai/t/oss/case_mtzbwvz133), the cache writer waited for a stream to close, while the stream waited for the cache writer. Removing that wait reduced median cacheable GET-miss handler time by 99.4%, from 101.2 ms to 0.57 ms. The Case is verified and merged upstream.

In [RoaringBitmap](https://perfloop.ai/t/oss/case_0t48d3m05c), the BSI batch-equality query benchmark fell from 3.95 s to 129 ms. Allocated bytes fell 72.3%. The Case is verified and merged upstream.

In [Zoekt](https://perfloop.ai/t/oss/case_3tyhw53hc7), sorting once after collecting search results reduced median search time by 96.1% across 128 repos with 64 interleaved file matches each and no display limit. The Case is verified and merged upstream.

## When the claim is p99

In [Weaviate](https://perfloop.ai/t/oss/case_152zs6wagt), batching LSM view setup reduced the paired median p99 by 12.8% in a post-startup high-EF non-exact gRPC near-vector search benchmark, with asynchronous prefill and a 64-object vector cache. The Case records 10 sample pairs and is verified; it has no merged upstream pull request.

## What it cannot do

Perfloop opens pull requests, and issues for results better filed as an issue. It cannot approve, merge, or deploy. A proven result opens nothing until a member selects **Approve & open PR** or **Approve & open issue** in Inbox, unless that repo's **Pull requests** control is on. When your repo's rules hold a result, the hold shows on its Case page instead. A hypothesis the evidence disproves is recorded as refuted, and its record stays. Start with the [Quickstart](https://perfloop.ai/docs/work/quickstart).
