omeryanbas.com

Ömer Yanbaş

General Manager, Ticofab Yazılım

Performance posts

Everything in the journal filed under performance.

2026

  1. Lab numbers, field data and a real phone

    A synthetic audit, real user data and a phone in your hand answer three different questions. Here is when each one lies and how to measure a change.

    PerformancePractice6 min read

  2. An eleven kilobyte home page: the case for static sites

    What pre rendering buys you, what it costs, and the build pipeline, page weight budget and caching rules that keep a static site small and boring.

    PerformanceWeb6 min read

  3. Keeping an AI feature affordable in production

    An AI feature that works can still produce a bill nobody planned for. Where the tokens go, what to cache, what to trim and how to cap spend per user.

    AIPerformance5 min read

  4. From a slow query to the right index

    Find the query, read the plan, then choose the column order. A practical route from a slow page to an index that actually gets used, and its cost.

    DataPerformance5 min read

2025

  1. What the responsive images audit is really telling you

    The audit compares the file you sent with the pixels the device needs, which is layout width times pixel ratio. Here is how to read it and what to change.

    PerformanceWeb6 min read

  2. A hundred thousand rows pasted into a form: move it to a queue

    A synchronous bulk import dies at the proxy timeout, leaves half written state and charges the user twice. Accept, store, return, then work in chunks.

    DataPerformance5 min read

  3. From 300 to 19,000 an hour: where sending throughput actually goes

    A sender stuck at 300 messages an hour is not short of CPU or bandwidth. It is waiting for one round trip at a time, and the fix is measurable.

    PerformanceMessaging5 min read

  4. Your entrance animation is delaying your largest paint

    An element that starts at opacity zero is never painted, so a fade in pushes Largest Contentful Paint out by the delay plus part of the animation.

    PerformanceWeb6 min read

  5. When PNG beats AVIF: images made of hard dots

    Lossy codecs are built for photographs. On a halftone screen an indexed PNG beat AVIF at every width, and the only way to know is to measure both.

    PerformanceWeb6 min read

  6. Subset the fonts, match the fallback metrics, stop the layout shift

    A page that renders 127 characters should not download 889 glyphs. Subset at build time, metric match the fallback, and the font swap stops moving things.

    PerformanceWeb5 min read