{
  "schema": "gray.http-comparison.v1",
  "runtimes": [
    "php",
    "node",
    "go",
    "gray"
  ],
  "routes": [
    "plaintext",
    "json"
  ],
  "requested_rates": [
    8000,
    12000,
    20000,
    30000,
    45000,
    60000,
    75000
  ],
  "results": [
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 12000,
      "achieved_rps": 11853.77,
      "achieved_ratio": 0.9878141666666667,
      "p50_ms": 1.07,
      "p99_ms": 3.36,
      "p999_ms": 6.19,
      "maximum_ms": 19.42,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-12000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 20000,
      "achieved_rps": 19898.0,
      "achieved_ratio": 0.9949,
      "p50_ms": 1.14,
      "p99_ms": 4.12,
      "p999_ms": 6.76,
      "maximum_ms": 12.91,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-20000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 30000,
      "achieved_rps": 29844.41,
      "achieved_ratio": 0.9948136666666667,
      "p50_ms": 1.34,
      "p99_ms": 5.38,
      "p999_ms": 7.84,
      "maximum_ms": 12.48,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-30000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 45000,
      "achieved_rps": 41528.59,
      "achieved_ratio": 0.9228575555555555,
      "p50_ms": 1500.0,
      "p99_ms": 2290.0,
      "p999_ms": 2390.0,
      "maximum_ms": 2480.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-45000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 60000,
      "achieved_rps": 43753.82,
      "achieved_ratio": 0.7292303333333333,
      "p50_ms": 5070.0,
      "p99_ms": 7900.0,
      "p999_ms": 8039.999999999999,
      "maximum_ms": 8180.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-60000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 75000,
      "achieved_rps": 41360.55,
      "achieved_ratio": 0.551474,
      "p50_ms": 8920.0,
      "p99_ms": 13200.0,
      "p999_ms": 13360.0,
      "maximum_ms": 13530.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-75000.txt"
    },
    {
      "runtime": "go",
      "route": "json",
      "requested_rps": 8000,
      "achieved_rps": 7905.69,
      "achieved_ratio": 0.98821125,
      "p50_ms": 1.04,
      "p99_ms": 3.13,
      "p999_ms": 4.81,
      "maximum_ms": 7.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-json-8000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 12000,
      "achieved_rps": 11855.73,
      "achieved_ratio": 0.9879775,
      "p50_ms": 1.08,
      "p99_ms": 3.25,
      "p999_ms": 5.36,
      "maximum_ms": 8.45,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-12000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 20000,
      "achieved_rps": 19897.86,
      "achieved_ratio": 0.994893,
      "p50_ms": 1.1,
      "p99_ms": 3.47,
      "p999_ms": 5.68,
      "maximum_ms": 9.98,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-20000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 30000,
      "achieved_rps": 29844.43,
      "achieved_ratio": 0.9948143333333334,
      "p50_ms": 1.31,
      "p99_ms": 5.68,
      "p999_ms": 9.75,
      "maximum_ms": 17.06,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-30000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 45000,
      "achieved_rps": 40366.76,
      "achieved_ratio": 0.8970391111111111,
      "p50_ms": 2190.0,
      "p99_ms": 2990.0,
      "p999_ms": 3110.0,
      "maximum_ms": 3250.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-45000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 60000,
      "achieved_rps": 46421.02,
      "achieved_ratio": 0.7736836666666667,
      "p50_ms": 3800.0,
      "p99_ms": 6410.0,
      "p999_ms": 6520.0,
      "maximum_ms": 6660.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-60000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 75000,
      "achieved_rps": 44501.96,
      "achieved_ratio": 0.5933594666666666,
      "p50_ms": 8520.0,
      "p99_ms": 11740.0,
      "p999_ms": 11940.0,
      "maximum_ms": 12110.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-75000.txt"
    },
    {
      "runtime": "go",
      "route": "plaintext",
      "requested_rps": 8000,
      "achieved_rps": 7905.18,
      "achieved_ratio": 0.9881475000000001,
      "p50_ms": 1.0,
      "p99_ms": 2.84,
      "p999_ms": 5.02,
      "maximum_ms": 10.94,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "go-plaintext-8000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 12000,
      "achieved_rps": 11767.21,
      "achieved_ratio": 0.9806008333333333,
      "p50_ms": 1.16,
      "p99_ms": 3.1,
      "p999_ms": 4.16,
      "maximum_ms": 6.91,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-12000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 20000,
      "achieved_rps": 19898.35,
      "achieved_ratio": 0.9949174999999999,
      "p50_ms": 1.02,
      "p99_ms": 2.35,
      "p999_ms": 4.84,
      "maximum_ms": 8.51,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-20000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 30000,
      "achieved_rps": 29844.41,
      "achieved_ratio": 0.9948136666666667,
      "p50_ms": 1.14,
      "p99_ms": 3.09,
      "p999_ms": 6.31,
      "maximum_ms": 14.89,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-30000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 45000,
      "achieved_rps": 44757.65,
      "achieved_ratio": 0.9946144444444445,
      "p50_ms": 1.31,
      "p99_ms": 5.9,
      "p999_ms": 8.81,
      "maximum_ms": 16.43,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-45000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 60000,
      "achieved_rps": 59257.18,
      "achieved_ratio": 0.9876196666666667,
      "p50_ms": 2.12,
      "p99_ms": 81.15,
      "p999_ms": 90.24,
      "maximum_ms": 94.01,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-60000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 75000,
      "achieved_rps": 67273.68,
      "achieved_ratio": 0.8969824,
      "p50_ms": 1420.0,
      "p99_ms": 2670.0,
      "p999_ms": 2740.0,
      "maximum_ms": 2780.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-75000.txt"
    },
    {
      "runtime": "gray",
      "route": "json",
      "requested_rps": 8000,
      "achieved_rps": 7961.81,
      "achieved_ratio": 0.9952262500000001,
      "p50_ms": 0.9,
      "p99_ms": 2.11,
      "p999_ms": 3.87,
      "maximum_ms": 7.24,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-json-8000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 12000,
      "achieved_rps": 11852.18,
      "achieved_ratio": 0.9876816666666667,
      "p50_ms": 1.0,
      "p99_ms": 2.42,
      "p999_ms": 3.92,
      "maximum_ms": 7.44,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-12000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 20000,
      "achieved_rps": 19897.47,
      "achieved_ratio": 0.9948735000000001,
      "p50_ms": 0.99,
      "p99_ms": 2.25,
      "p999_ms": 4.01,
      "maximum_ms": 7.02,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-20000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 30000,
      "achieved_rps": 29634.28,
      "achieved_ratio": 0.9878093333333333,
      "p50_ms": 1.13,
      "p99_ms": 2.73,
      "p999_ms": 3.97,
      "maximum_ms": 6.01,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-30000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 45000,
      "achieved_rps": 44764.08,
      "achieved_ratio": 0.9947573333333334,
      "p50_ms": 1.28,
      "p99_ms": 3.81,
      "p999_ms": 5.4,
      "maximum_ms": 8.92,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-45000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 60000,
      "achieved_rps": 59259.63,
      "achieved_ratio": 0.9876604999999999,
      "p50_ms": 1.93,
      "p99_ms": 85.76,
      "p999_ms": 97.15,
      "maximum_ms": 105.15,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-60000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 75000,
      "achieved_rps": 70203.98,
      "achieved_ratio": 0.9360530666666667,
      "p50_ms": 1180.0,
      "p99_ms": 1600.0,
      "p999_ms": 1620.0,
      "maximum_ms": 1630.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-75000.txt"
    },
    {
      "runtime": "gray",
      "route": "plaintext",
      "requested_rps": 8000,
      "achieved_rps": 7844.12,
      "achieved_ratio": 0.980515,
      "p50_ms": 1.14,
      "p99_ms": 3.13,
      "p999_ms": 4.55,
      "maximum_ms": 6.11,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "gray-plaintext-8000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 12000,
      "achieved_rps": 11939.92,
      "achieved_ratio": 0.9949933333333333,
      "p50_ms": 1.31,
      "p99_ms": 10.86,
      "p999_ms": 14.64,
      "maximum_ms": 18.05,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-12000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 20000,
      "achieved_rps": 19839.17,
      "achieved_ratio": 0.9919585,
      "p50_ms": 2.94,
      "p99_ms": 72.13,
      "p999_ms": 92.86,
      "maximum_ms": 137.85,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-20000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 30000,
      "achieved_rps": 23405.23,
      "achieved_ratio": 0.7801743333333333,
      "p50_ms": 4230.0,
      "p99_ms": 6410.0,
      "p999_ms": 6600.0,
      "maximum_ms": 6730.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-30000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 45000,
      "achieved_rps": 22489.63,
      "achieved_ratio": 0.4997695555555556,
      "p50_ms": 9600.0,
      "p99_ms": 14540.0,
      "p999_ms": 14790.0,
      "maximum_ms": 15040.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-45000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 60000,
      "achieved_rps": 21325.54,
      "achieved_ratio": 0.3554256666666667,
      "p50_ms": 12750.0,
      "p99_ms": 19050.0,
      "p999_ms": 19200.0,
      "maximum_ms": 19370.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-60000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 75000,
      "achieved_rps": 20555.6,
      "achieved_ratio": 0.27407466666666663,
      "p50_ms": 14740.0,
      "p99_ms": 21090.0,
      "p999_ms": 21400.0,
      "maximum_ms": 21580.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-75000.txt"
    },
    {
      "runtime": "node",
      "route": "json",
      "requested_rps": 8000,
      "achieved_rps": 7905.58,
      "achieved_ratio": 0.9881975,
      "p50_ms": 1.25,
      "p99_ms": 7.51,
      "p999_ms": 11.91,
      "maximum_ms": 33.31,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-json-8000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 12000,
      "achieved_rps": 11940.44,
      "achieved_ratio": 0.9950366666666667,
      "p50_ms": 1.28,
      "p99_ms": 10.04,
      "p999_ms": 13.9,
      "maximum_ms": 18.16,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-12000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 20000,
      "achieved_rps": 19897.71,
      "achieved_ratio": 0.9948855,
      "p50_ms": 6.58,
      "p99_ms": 123.84,
      "p999_ms": 139.77,
      "maximum_ms": 155.13,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-20000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 30000,
      "achieved_rps": 22325.74,
      "achieved_ratio": 0.7441913333333334,
      "p50_ms": 4970.0,
      "p99_ms": 7230.0,
      "p999_ms": 7410.0,
      "maximum_ms": 7590.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-30000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 45000,
      "achieved_rps": 22538.51,
      "achieved_ratio": 0.5008557777777778,
      "p50_ms": 10520.0,
      "p99_ms": 14790.0,
      "p999_ms": 15110.0,
      "maximum_ms": 15340.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-45000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 60000,
      "achieved_rps": 22511.44,
      "achieved_ratio": 0.3751906666666667,
      "p50_ms": 12120.0,
      "p99_ms": 18500.0,
      "p999_ms": 18740.0,
      "maximum_ms": 18940.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-60000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 75000,
      "achieved_rps": 23202.92,
      "achieved_ratio": 0.3093722666666666,
      "p50_ms": 13950.0,
      "p99_ms": 20430.0,
      "p999_ms": 20690.0,
      "maximum_ms": 20920.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-75000.txt"
    },
    {
      "runtime": "node",
      "route": "plaintext",
      "requested_rps": 8000,
      "achieved_rps": 7961.8,
      "achieved_ratio": 0.995225,
      "p50_ms": 1.06,
      "p99_ms": 6.46,
      "p999_ms": 10.21,
      "maximum_ms": 14.64,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "node-plaintext-8000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 12000,
      "achieved_rps": 10894.55,
      "achieved_ratio": 0.9078791666666666,
      "p50_ms": 1660.0,
      "p99_ms": 2610.0,
      "p999_ms": 2620.0,
      "maximum_ms": 2620.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-12000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 20000,
      "achieved_rps": 10582.39,
      "achieved_ratio": 0.5291195,
      "p50_ms": 9000.0,
      "p99_ms": 13670.0,
      "p999_ms": 13810.0,
      "maximum_ms": 13830.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-20000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 30000,
      "achieved_rps": 10656.68,
      "achieved_ratio": 0.3552226666666667,
      "p50_ms": 12770.0,
      "p99_ms": 19090.0,
      "p999_ms": 19200.0,
      "maximum_ms": 19230.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-30000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 45000,
      "achieved_rps": 10697.12,
      "achieved_ratio": 0.2377137777777778,
      "p50_ms": 16110.0,
      "p99_ms": 22590.0,
      "p999_ms": 22740.0,
      "maximum_ms": 22770.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-45000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 60000,
      "achieved_rps": 10825.55,
      "achieved_ratio": 0.1804258333333333,
      "p50_ms": 15540.0,
      "p99_ms": 23640.0,
      "p999_ms": 23810.0,
      "maximum_ms": 23870.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-60000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 75000,
      "achieved_rps": 10496.68,
      "achieved_ratio": 0.13995573333333333,
      "p50_ms": 17200.0,
      "p99_ms": 25480.0,
      "p999_ms": 25670.0,
      "maximum_ms": 25720.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-75000.txt"
    },
    {
      "runtime": "php",
      "route": "json",
      "requested_rps": 8000,
      "achieved_rps": 7904.31,
      "achieved_ratio": 0.9880387500000001,
      "p50_ms": 3.71,
      "p99_ms": 51.55,
      "p999_ms": 59.46,
      "maximum_ms": 63.65,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-json-8000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 12000,
      "achieved_rps": 11545.84,
      "achieved_ratio": 0.9621533333333333,
      "p50_ms": 532.48,
      "p99_ms": 970.24,
      "p999_ms": 986.11,
      "maximum_ms": 993.28,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-12000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 20000,
      "achieved_rps": 11208.15,
      "achieved_ratio": 0.5604075,
      "p50_ms": 8180.0,
      "p99_ms": 12760.0,
      "p999_ms": 12860.0,
      "maximum_ms": 12880.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-20000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 30000,
      "achieved_rps": 10844.27,
      "achieved_ratio": 0.3614756666666667,
      "p50_ms": 11980.0,
      "p99_ms": 18710.0,
      "p999_ms": 18870.0,
      "maximum_ms": 18890.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-30000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 45000,
      "achieved_rps": 11030.77,
      "achieved_ratio": 0.24512822222222222,
      "p50_ms": 15520.0,
      "p99_ms": 22360.0,
      "p999_ms": 22510.0,
      "maximum_ms": 22530.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-45000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 60000,
      "achieved_rps": 10748.99,
      "achieved_ratio": 0.17914983333333334,
      "p50_ms": 16320.0,
      "p99_ms": 24220.0,
      "p999_ms": 24410.0,
      "maximum_ms": 24460.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-60000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 75000,
      "achieved_rps": 10884.25,
      "achieved_ratio": 0.14512333333333333,
      "p50_ms": 17330.0,
      "p99_ms": 25330.0,
      "p999_ms": 25510.0,
      "maximum_ms": 25560.0,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-75000.txt"
    },
    {
      "runtime": "php",
      "route": "plaintext",
      "requested_rps": 8000,
      "achieved_rps": 7960.75,
      "achieved_ratio": 0.99509375,
      "p50_ms": 1.57,
      "p99_ms": 48.03,
      "p999_ms": 79.04,
      "maximum_ms": 82.94,
      "socket_errors": 0,
      "http_errors": 0,
      "raw": "php-plaintext-8000.txt"
    }
  ]
}
