<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Latency on Bits, Trades &amp; Systems</title>
    <link>https://blog.turboawesome.win/tags/latency/</link>
    <description>Recent content in Latency on Bits, Trades &amp; Systems</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 01 Oct 2015 09:44:00 +0000</lastBuildDate>
    <atom:link href="https://blog.turboawesome.win/tags/latency/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ZGC and Shenandoah: What Low-Pause GC Means for Trading Systems</title>
      <link>https://blog.turboawesome.win/2015/10/zgc-and-shenandoah-what-low-pause-gc-means-for-trading-systems/</link>
      <pubDate>Thu, 01 Oct 2015 09:44:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2015/10/zgc-and-shenandoah-what-low-pause-gc-means-for-trading-systems/</guid>
      <description>In 2015 the JVM GC landscape was about to change significantly. ZGC and Shenandoah were in development, promising sub-millisecond GC pauses regardless of heap size. Here&amp;#39;s what the previews looked like and what they meant for latency-sensitive Java.</description>
    </item>
    <item>
      <title>Understanding Safepoints: The JVM Pauses Nobody Talks About</title>
      <link>https://blog.turboawesome.win/2015/05/understanding-safepoints-the-jvm-pauses-nobody-talks-about/</link>
      <pubDate>Wed, 27 May 2015 14:38:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2015/05/understanding-safepoints-the-jvm-pauses-nobody-talks-about/</guid>
      <description>GC pauses get all the attention, but safepoints are a broader category of JVM stop-the-world events that affect latency in ways GC tuning can&amp;#39;t fix.</description>
    </item>
    <item>
      <title>Benchmarking Without Lying: JMH, Coordinated Omission, and Honest Numbers</title>
      <link>https://blog.turboawesome.win/2014/10/benchmarking-without-lying-jmh-coordinated-omission-and-honest-numbers/</link>
      <pubDate>Wed, 29 Oct 2014 10:14:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2014/10/benchmarking-without-lying-jmh-coordinated-omission-and-honest-numbers/</guid>
      <description>Most latency benchmarks are wrong in the same ways. JMH solves the JVM measurement problems; coordinated omission is the harder issue that lives above it.</description>
    </item>
    <item>
      <title>Choosing a GC Collector for Low-Latency Java: A Practical Comparison</title>
      <link>https://blog.turboawesome.win/2014/08/choosing-a-gc-collector-for-low-latency-java-a-practical-comparison/</link>
      <pubDate>Wed, 06 Aug 2014 10:18:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2014/08/choosing-a-gc-collector-for-low-latency-java-a-practical-comparison/</guid>
      <description>CMS vs G1 vs parallel GC vs no-GC strategies. The tradeoffs as they actually played out in a latency-sensitive financial application, with real numbers.</description>
    </item>
    <item>
      <title>Busy Spinning vs Blocking: Thread Strategies for Ultra-Low Latency</title>
      <link>https://blog.turboawesome.win/2014/05/busy-spinning-vs-blocking-thread-strategies-for-ultra-low-latency/</link>
      <pubDate>Wed, 14 May 2014 10:31:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2014/05/busy-spinning-vs-blocking-thread-strategies-for-ultra-low-latency/</guid>
      <description>Blocking a thread hands control to the OS scheduler and costs you microseconds on wake-up. Busy spinning wastes a CPU core. The right choice depends on your latency target and hardware budget.</description>
    </item>
    <item>
      <title>FX Pricing Engine Architecture: From Feeds to Executable Quotes</title>
      <link>https://blog.turboawesome.win/2014/02/fx-pricing-engine-architecture-from-feeds-to-executable-quotes/</link>
      <pubDate>Wed, 19 Feb 2014 11:08:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2014/02/fx-pricing-engine-architecture-from-feeds-to-executable-quotes/</guid>
      <description>End-to-end architecture of an FX pricing engine: LP feed ingestion, aggregation, spread logic, and quote distribution. The design choices that kept us under 500µs tick-to-quote.</description>
    </item>
    <item>
      <title>Why Average Latency Is a Lie: HdrHistogram and Measuring What Matters</title>
      <link>https://blog.turboawesome.win/2013/11/why-average-latency-is-a-lie-hdrhistogram-and-measuring-what-matters/</link>
      <pubDate>Wed, 27 Nov 2013 11:14:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2013/11/why-average-latency-is-a-lie-hdrhistogram-and-measuring-what-matters/</guid>
      <description>Average latency hides the distribution. HdrHistogram gives you a complete picture of latency across the full range — and it does so without distorting the system you&amp;#39;re measuring.</description>
    </item>
    <item>
      <title>Stop-the-World GC Pauses Killed Our SLA — And What We Did About It</title>
      <link>https://blog.turboawesome.win/2012/11/stop-the-world-gc-pauses-killed-our-sla-and-what-we-did-about-it/</link>
      <pubDate>Tue, 13 Nov 2012 11:08:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2012/11/stop-the-world-gc-pauses-killed-our-sla-and-what-we-did-about-it/</guid>
      <description>How garbage collection pauses blew our latency SLA during peak market hours, and the three-phase approach we used to get it under control.</description>
    </item>
    <item>
      <title>Latency vs Throughput: The False Dichotomy I Learned the Hard Way</title>
      <link>https://blog.turboawesome.win/2012/09/latency-vs-throughput-the-false-dichotomy-i-learned-the-hard-way/</link>
      <pubDate>Tue, 25 Sep 2012 10:33:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2012/09/latency-vs-throughput-the-false-dichotomy-i-learned-the-hard-way/</guid>
      <description>Optimising for throughput and optimising for latency are often portrayed as opposites. In practice they pull in different directions but are not mutually exclusive — and confusing them leads to systems that are bad at both.</description>
    </item>
    <item>
      <title>Building a Price Feed Aggregator in Java: First Attempt</title>
      <link>https://blog.turboawesome.win/2012/05/building-a-price-feed-aggregator-in-java-first-attempt/</link>
      <pubDate>Wed, 09 May 2012 14:22:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2012/05/building-a-price-feed-aggregator-in-java-first-attempt/</guid>
      <description>My first serious Java performance project: aggregating price feeds from multiple venues into a single best-bid-offer view. What I built, what was wrong with it, and what I learned rewriting it.</description>
    </item>
  </channel>
</rss>
