Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Optimize Bright Data API performance with caching, batching, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Bright Data integrations. Trigger with phrases like "brightdata performance", "optimize brightdata", "brightdata latency", "brightdata caching", "brightdata slow", "brightdata batch".
.claude/skills/jeremylongshore-brightdata-performance-tuning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 37% | 0% |
Improve the slowest measured phase while preserving authorization, correctness, and cost ceilings. Choose the Bright Data product that matches the interaction, separate provider time from local queue and processing time, change one variable, and retain rollback evidence.
Read traces and Grep for serialized work, unbounded concurrency, full-body buffering, repeated browser startup, hot polling, and retry amplification. Segment by product, target class, response size, and error class.
Use proxy requests for simple HTTP collection, Browser API when a browser session is actually required, and asynchronous scraper snapshots for batch workloads. Do not hide a product mismatch with more concurrency.
Write or Edit a canary plan that changes only batch size, worker concurrency, connection reuse, browser-session reuse, polling cadence, streaming boundary, or downstream parallelism. Keep admission, byte, and cost ceilings fixed.
Compare median and tail latency, success, 429, provider errors, bytes, queue time, and unit cost. Retain changes only when the target metric improves without violating safety, correctness, or budget constraints.
Use Read and Grep for trace and implementation analysis. Use Write and Edit for benchmarks, fixtures, canary configuration, and the decision record. This skill does not generate production load or alter live Bright Data resources.
A snapshot workload spends most time parsing after download. Streamed NDJSON parsing lowers memory and tail latency in a fixed-size canary while provider concurrency and collection scope remain unchanged.
| Failure | Meaning | Response | |---------|---------|----------| | Baseline mixes unlike products | Comparison is invalid | Segment proxy, Browser API, and snapshot paths | | Throughput rises with more 429 responses | Concurrency exceeds an effective boundary | Back off and lower admission | | Faster output loses records | Optimization broke correctness | Roll back and add integrity assertions |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 22,665 | 11,080 | -51% | 1 | 1 | 0% | 4,595 | 4,122 | -10% | 0 | 0 | — |
case-02 | fail→pass | 24,903 | 16,693 | -33% | 1 | 1 | 0% | 5,577 | 5,623 | +1% | 0 | 0 | — |
case-03 | pass→pass | 8,056 | 2,863 | -64% | 1 | 1 | 0% | 1,377 | 2,243 | +63% | 0 | 0 | — |
case-04 | pass→pass | 9,946 | 2,995 | -70% | 1 | 1 | 0% | 1,754 | 2,318 | +32% | 0 | 0 | — |
case-05 | fail→pass | 12,188 | 4,802 | -61% | 1 | 1 | 0% | 1,981 | 2,497 | +26% | 0 | 0 | — |
case-06 | fail→pass | 16,125 | 8,669 | -46% | 1 | 1 | 0% | 2,674 | 3,222 | +20% | 0 | 0 | — |
case-07 | pass→pass | 3,508 | 2,785 | -21% | 1 | 1 | 0% | 552 | 2,249 | +307% | 0 | 0 | — |
case-08 | fail→pass | 14,131 | 9,849 | -30% | 1 | 1 | 0% | 2,577 | 3,542 | +37% | 0 | 0 | — |
case-09 | pass→pass | 22,894 | 5,833 | -75% | 1 | 1 | 0% | 2,054 | 2,902 | +41% | 0 | 0 | — |
case-10 | fail→fail | 24,760 | 10,031 | -59% | 1 | 1 | 0% | 1,040 | 3,390 | +226% | 0 | 0 | — |
case-11 | fail→pass | 14,259 | 8,668 | -39% | 1 | 1 | 0% | 2,345 | 3,028 | +29% | 0 | 0 | — |
case-12 | pass→pass | 25,722 | 11,961 | -53% | 1 | 1 | 0% | 2,397 | 3,936 | +64% | 0 | 0 | — |
case-23 | pass→pass | 13,127 | 22,883 | +74% | 1 | 1 | 0% | 2,729 | 4,667 | +71% | 0 | 0 | — |
case-13 | pass→pass | 9,110 | 2,780 | -69% | 1 | 1 | 0% | 1,536 | 2,107 | +37% | 0 | 0 | — |
case-14 | pass→pass | 13,477 | 7,719 | -43% | 1 | 1 | 0% | 2,337 | 3,139 | +34% | 0 | 0 | — |
case-15 | fail→pass | 11,997 | 2,644 | -78% | 1 | 1 | 0% | 1,862 | 2,053 | +10% | 0 | 0 | — |
case-16 | fail→pass | 10,169 | 2,333 | -77% | 1 | 1 | 0% | 1,729 | 2,141 | +24% | 0 | 0 | — |
case-17 | fail→pass | 16,247 | 1,597 | -90% | 1 | 1 | 0% | 856 | 1,974 | +131% | 0 | 0 | — |
case-18 | pass→pass | 10,726 | 1,529 | -86% | 1 | 1 | 0% | 1,756 | 1,949 | +11% | 0 | 0 | — |
case-19 | pass→pass | 14,544 | 7,911 | -46% | 1 | 1 | 0% | 2,411 | 3,170 | +31% | 0 | 0 | — |
case-20 | pass→pass | 13,274 | 12,974 | -2% | 1 | 1 | 0% | 2,135 | 4,031 | +89% | 0 | 0 | — |
case-21 | pass→pass | 18,249 | 19,111 | +5% | 1 | 1 | 0% | 3,397 | 5,242 | +54% | 0 | 0 | — |
case-22 | pass→pass | 12,834 | 12,092 | -6% | 1 | 1 | 0% | 2,314 | 3,915 | +69% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +39 percentage points is the difference between those two pass rates over the 21 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.