{
 "env": {
  "impl": "CPython",
  "python": "3.12.14",
  "compiler": "MSC v.1944 64 bit (AMD64)",
  "machine": "AMD64",
  "system": "Windows",
  "cpus": 12
 },
 "samples": 21,
 "measured_at": "2026-11-11T02:08:30+0800",
 "rule": "両側 0.8–1200ms / 3 回の独立実行 / 比率 CV ≤10% / 差 5% 以上",
 "cases": [
  {
   "id": "listcomp-vs-append",
   "a": "append ループ",
   "b": "リスト内包表記",
   "median_a_ms": 19.181,
   "median_b_ms": 17.292,
   "ratio": 1.109,
   "ratio_by_run": [
    1.109,
    1.101,
    1.103
   ],
   "cv_a": 1.5,
   "cv_b": 1.3,
   "cv_ratio": 0.3,
   "runs": [
    {
     "run": 1,
     "a_ms": 19.181,
     "b_ms": 17.2924,
     "ratio": 1.1092
    },
    {
     "run": 2,
     "a_ms": 18.617,
     "b_ms": 16.9082,
     "ratio": 1.1011
    },
    {
     "run": 3,
     "a_ms": 19.2641,
     "b_ms": 17.4644,
     "ratio": 1.103
    }
   ],
   "published": true,
   "slug": "listcomp-vs-append"
  },
  {
   "id": "dict-vs-object-attr",
   "a": "dict の参照",
   "b": "__slots__ 属性",
   "median_a_ms": 27.037,
   "median_b_ms": 24.073,
   "ratio": 1.123,
   "ratio_by_run": [
    1.114,
    1.113,
    1.123
   ],
   "cv_a": 1.3,
   "cv_b": 1.4,
   "cv_ratio": 0.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 27.5223,
     "b_ms": 24.7134,
     "ratio": 1.1137
    },
    {
     "run": 2,
     "a_ms": 26.6472,
     "b_ms": 23.9442,
     "ratio": 1.1129
    },
    {
     "run": 3,
     "a_ms": 27.0374,
     "b_ms": 24.0731,
     "ratio": 1.1231
    }
   ],
   "published": true,
   "slug": "dict-vs-slots"
  },
  {
   "id": "json-roundtrip-vs-deepcopy",
   "a": "JSON ラウンドトリップ",
   "b": "deepcopy",
   "median_a_ms": 152.371,
   "median_b_ms": 245.99,
   "ratio": 0.619,
   "ratio_by_run": [
    0.619,
    0.619,
    0.608
   ],
   "cv_a": 1.5,
   "cv_b": 0.7,
   "cv_ratio": 0.9,
   "runs": [
    {
     "run": 1,
     "a_ms": 152.3712,
     "b_ms": 245.9899,
     "ratio": 0.6194
    },
    {
     "run": 2,
     "a_ms": 153.013,
     "b_ms": 247.0557,
     "ratio": 0.6193
    },
    {
     "run": 3,
     "a_ms": 147.8083,
     "b_ms": 243.1777,
     "ratio": 0.6078
    }
   ],
   "published": true,
   "slug": "json-vs-deepcopy"
  },
  {
   "id": "copy-vs-deepcopy",
   "a": "copy（浅い）",
   "b": "deepcopy",
   "median_a_ms": 17.536,
   "median_b_ms": 659.718,
   "ratio": 0.027,
   "ratio_by_run": [
    0.026,
    0.026,
    0.027
   ],
   "cv_a": 0.7,
   "cv_b": 0.9,
   "cv_ratio": 0.9,
   "runs": [
    {
     "run": 1,
     "a_ms": 17.3647,
     "b_ms": 654.667,
     "ratio": 0.0265
    },
    {
     "run": 2,
     "a_ms": 17.5359,
     "b_ms": 669.3478,
     "ratio": 0.0262
    },
    {
     "run": 3,
     "a_ms": 17.6847,
     "b_ms": 659.7177,
     "ratio": 0.0268
    }
   ],
   "published": true,
   "slug": "copy-vs-deepcopy"
  },
  {
   "id": "list-index-vs-iterate",
   "a": "index 参照",
   "b": "直接イテレート",
   "median_a_ms": 5.348,
   "median_b_ms": 3.472,
   "ratio": 1.54,
   "ratio_by_run": [
    1.556,
    1.514,
    1.545
   ],
   "cv_a": 0.6,
   "cv_b": 1.1,
   "cv_ratio": 1.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.4026,
     "b_ms": 3.4717,
     "ratio": 1.5562
    },
    {
     "run": 2,
     "a_ms": 5.3479,
     "b_ms": 3.5321,
     "ratio": 1.5141
    },
    {
     "run": 3,
     "a_ms": 5.3223,
     "b_ms": 3.4442,
     "ratio": 1.5453
    }
   ],
   "published": true,
   "slug": "index-vs-iterate"
  },
  {
   "id": "try-except-vs-check",
   "a": "例外で分岐",
   "b": "in で判定",
   "median_a_ms": 49.678,
   "median_b_ms": 12.101,
   "ratio": 4.105,
   "ratio_by_run": [
    3.96,
    4.106,
    4.115
   ],
   "cv_a": 2.6,
   "cv_b": 0.9,
   "cv_ratio": 1.7,
   "runs": [
    {
     "run": 1,
     "a_ms": 47.067,
     "b_ms": 11.8843,
     "ratio": 3.9604
    },
    {
     "run": 2,
     "a_ms": 49.6781,
     "b_ms": 12.1005,
     "ratio": 4.1055
    },
    {
     "run": 3,
     "a_ms": 49.9489,
     "b_ms": 12.1387,
     "ratio": 4.1148
    }
   ],
   "published": true,
   "slug": "try-except-vs-check"
  },
  {
   "id": "enumerate-vs-range",
   "a": "range(len())",
   "b": "enumerate",
   "median_a_ms": 5.353,
   "median_b_ms": 7.747,
   "ratio": 0.691,
   "ratio_by_run": [
    0.681,
    0.684,
    0.721
   ],
   "cv_a": 1.9,
   "cv_b": 1.0,
   "cv_ratio": 2.6,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.3528,
     "b_ms": 7.8615,
     "ratio": 0.6809
    },
    {
     "run": 2,
     "a_ms": 5.2953,
     "b_ms": 7.7467,
     "ratio": 0.6836
    },
    {
     "run": 3,
     "a_ms": 5.5327,
     "b_ms": 7.6778,
     "ratio": 0.7206
    }
   ],
   "published": true,
   "slug": "enumerate-vs-range"
  },
  {
   "id": "fstring-vs-percent",
   "a": "% 書式",
   "b": "f-string",
   "median_a_ms": 51.024,
   "median_b_ms": 29.235,
   "ratio": 1.745,
   "ratio_by_run": [
    1.863,
    1.752,
    1.741
   ],
   "cv_a": 4.0,
   "cv_b": 0.8,
   "cv_ratio": 3.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 55.2386,
     "b_ms": 29.6424,
     "ratio": 1.8635
    },
    {
     "run": 2,
     "a_ms": 51.0241,
     "b_ms": 29.1272,
     "ratio": 1.7518
    },
    {
     "run": 3,
     "a_ms": 50.9031,
     "b_ms": 29.235,
     "ratio": 1.7412
    }
   ],
   "published": true,
   "slug": "fstring-vs-percent"
  },
  {
   "id": "json-vs-pickle",
   "a": "json.dumps",
   "b": "pickle.dumps",
   "median_a_ms": 56.742,
   "median_b_ms": 21.661,
   "ratio": 2.62,
   "ratio_by_run": [
    2.49,
    2.608,
    2.694
   ],
   "cv_a": 1.4,
   "cv_b": 2.5,
   "cv_ratio": 3.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 56.7425,
     "b_ms": 22.791,
     "ratio": 2.4897
    },
    {
     "run": 2,
     "a_ms": 56.4945,
     "b_ms": 21.6609,
     "ratio": 2.6081
    },
    {
     "run": 3,
     "a_ms": 58.2995,
     "b_ms": 21.6371,
     "ratio": 2.6944
    }
   ],
   "published": true,
   "slug": "json-vs-pickle"
  },
  {
   "id": "dedupe-set-vs-dict",
   "a": "set() で重複除去",
   "b": "dict.fromkeys",
   "median_a_ms": 5.44,
   "median_b_ms": 8.086,
   "ratio": 0.673,
   "ratio_by_run": [
    0.665,
    0.663,
    0.712
   ],
   "cv_a": 3.3,
   "cv_b": 1.0,
   "cv_ratio": 3.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.3262,
     "b_ms": 8.0029,
     "ratio": 0.6655
    },
    {
     "run": 2,
     "a_ms": 5.44,
     "b_ms": 8.2074,
     "ratio": 0.6628
    },
    {
     "run": 3,
     "a_ms": 5.7567,
     "b_ms": 8.0856,
     "ratio": 0.712
    }
   ],
   "published": true,
   "slug": "dedupe-set-vs-dict"
  },
  {
   "id": "startswith-vs-regex",
   "a": "startswith",
   "b": "正規表現",
   "median_a_ms": 23.523,
   "median_b_ms": 54.715,
   "ratio": 0.43,
   "ratio_by_run": [
    0.411,
    0.418,
    0.445
   ],
   "cv_a": 2.1,
   "cv_b": 2.5,
   "cv_ratio": 3.5,
   "runs": [
    {
     "run": 1,
     "a_ms": 23.5233,
     "b_ms": 57.2758,
     "ratio": 0.4107
    },
    {
     "run": 2,
     "a_ms": 22.8528,
     "b_ms": 54.7149,
     "ratio": 0.4177
    },
    {
     "run": 3,
     "a_ms": 24.0422,
     "b_ms": 54.042,
     "ratio": 0.4449
    }
   ],
   "published": true,
   "slug": "startswith-vs-regex"
  },
  {
   "id": "sorted-vs-sort",
   "a": "sorted() で新リスト",
   "b": "list.sort() インプレース",
   "median_a_ms": 24.1,
   "median_b_ms": 22.668,
   "ratio": 1.063,
   "ratio_by_run": [
    1.045,
    1.116,
    1.032
   ],
   "cv_a": 3.4,
   "cv_b": 0.9,
   "cv_ratio": 3.5,
   "runs": [
    {
     "run": 1,
     "a_ms": 24.0996,
     "b_ms": 23.066,
     "ratio": 1.0448
    },
    {
     "run": 2,
     "a_ms": 25.3074,
     "b_ms": 22.6684,
     "ratio": 1.1164
    },
    {
     "run": 3,
     "a_ms": 23.3301,
     "b_ms": 22.6029,
     "ratio": 1.0322
    }
   ],
   "published": true,
   "slug": "sorted-vs-sort"
  },
  {
   "id": "sum-range-vs-list",
   "a": "sum(range(n))",
   "b": "sum(list(range(n)))",
   "median_a_ms": 17.465,
   "median_b_ms": 31.157,
   "ratio": 0.561,
   "ratio_by_run": [
    0.545,
    0.569,
    0.595
   ],
   "cv_a": 3.7,
   "cv_b": 0.8,
   "cv_ratio": 3.6,
   "runs": [
    {
     "run": 1,
     "a_ms": 17.0077,
     "b_ms": 31.2145,
     "ratio": 0.5449
    },
    {
     "run": 2,
     "a_ms": 17.4646,
     "b_ms": 30.6827,
     "ratio": 0.5692
    },
    {
     "run": 3,
     "a_ms": 18.5516,
     "b_ms": 31.1568,
     "ratio": 0.5954
    }
   ],
   "published": true,
   "slug": "sum-range-vs-list"
  },
  {
   "id": "getattr-vs-dictget",
   "a": "dict.get（ヒット）",
   "b": "dict.get（ミス）",
   "median_a_ms": 33.964,
   "median_b_ms": 34.162,
   "ratio": 0.994,
   "ratio_by_run": [
    0.994,
    0.987,
    0.996
   ],
   "cv_a": 0.0,
   "cv_b": 0.4,
   "cv_ratio": 0.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 33.9725,
     "b_ms": 34.1624,
     "ratio": 0.9944
    },
    {
     "run": 2,
     "a_ms": 33.9639,
     "b_ms": 34.3992,
     "ratio": 0.9873
    },
    {
     "run": 3,
     "a_ms": 33.9388,
     "b_ms": 34.0765,
     "ratio": 0.996
    }
   ],
   "published": false,
   "excluded_reason": "差が 5% 未満（有意と言えない）"
  },
  {
   "id": "list-in-vs-set-in",
   "a": "list の in",
   "b": "set の in",
   "median_a_ms": 2141.872,
   "median_b_ms": 0.994,
   "ratio": 2154.15,
   "ratio_by_run": [
    2168.369,
    2138.154,
    2133.551
   ],
   "cv_a": 0.6,
   "cv_b": 0.5,
   "cv_ratio": 0.7,
   "runs": [
    {
     "run": 1,
     "a_ms": 2156.0093,
     "b_ms": 0.9943,
     "ratio": 2168.369
    },
    {
     "run": 2,
     "a_ms": 2125.539,
     "b_ms": 0.9941,
     "ratio": 2138.1542
    },
    {
     "run": 3,
     "a_ms": 2141.8716,
     "b_ms": 1.0039,
     "ratio": 2133.5507
    }
   ],
   "published": false,
   "excluded_reason": "CV が 10% 超"
  },
  {
   "id": "int-loop-vs-math",
   "a": "ループで加算",
   "b": "閉形式で計算",
   "median_a_ms": 44.292,
   "median_b_ms": 0.001,
   "ratio": 73819.5,
   "ratio_by_run": [
    73602.94,
    73818.938,
    75004.762
   ],
   "cv_a": 0.8,
   "cv_b": 0.0,
   "cv_ratio": 0.8,
   "runs": [
    {
     "run": 1,
     "a_ms": 44.1621,
     "b_ms": 0.0006,
     "ratio": 73602.9396
    },
    {
     "run": 2,
     "a_ms": 44.2917,
     "b_ms": 0.0006,
     "ratio": 73818.9379
    },
    {
     "run": 3,
     "a_ms": 45.0032,
     "b_ms": 0.0006,
     "ratio": 75004.7622
    }
   ],
   "published": false,
   "excluded_reason": "片側の処理が 1ms 未満（比率が機械ノイズになる）"
  },
  {
   "id": "genexp-vs-listcomp",
   "a": "ジェネレータ式",
   "b": "リスト内包 + sum",
   "median_a_ms": 22.084,
   "median_b_ms": 21.888,
   "ratio": 1.009,
   "ratio_by_run": [
    1.02,
    1.009,
    0.978
   ],
   "cv_a": 1.1,
   "cv_b": 0.7,
   "cv_ratio": 1.8,
   "runs": [
    {
     "run": 1,
     "a_ms": 22.2864,
     "b_ms": 21.8461,
     "ratio": 1.0202
    },
    {
     "run": 2,
     "a_ms": 22.0843,
     "b_ms": 21.8876,
     "ratio": 1.009
    },
    {
     "run": 3,
     "a_ms": 21.7051,
     "b_ms": 22.1897,
     "ratio": 0.9782
    }
   ],
   "published": false,
   "excluded_reason": "差が 5% 未満（有意と言えない）"
  },
  {
   "id": "deque-vs-list-insert",
   "a": "deque.appendleft",
   "b": "list.insert(0)",
   "median_a_ms": 4.003,
   "median_b_ms": 2082.436,
   "ratio": 0.002,
   "ratio_by_run": [
    0.002,
    0.002,
    0.002
   ],
   "cv_a": 0.9,
   "cv_b": 0.5,
   "cv_ratio": 2.5,
   "runs": [
    {
     "run": 1,
     "a_ms": 4.0022,
     "b_ms": 2082.4363,
     "ratio": 0.0019
    },
    {
     "run": 2,
     "a_ms": 4.0818,
     "b_ms": 2082.608,
     "ratio": 0.002
    },
    {
     "run": 3,
     "a_ms": 4.0025,
     "b_ms": 2059.653,
     "ratio": 0.0019
    }
   ],
   "published": false,
   "excluded_reason": "CV が 10% 超"
  },
  {
   "id": "sort-key-vs-none",
   "a": "key 関数あり（1 回目）",
   "b": "key 関数あり（2 回目）",
   "median_a_ms": 24.78,
   "median_b_ms": 24.397,
   "ratio": 1.016,
   "ratio_by_run": [
    1.057,
    1.008,
    0.96
   ],
   "cv_a": 0.5,
   "cv_b": 4.2,
   "cv_ratio": 3.9,
   "runs": [
    {
     "run": 1,
     "a_ms": 24.78,
     "b_ms": 23.4428,
     "ratio": 1.057
    },
    {
     "run": 2,
     "a_ms": 24.6047,
     "b_ms": 24.3966,
     "ratio": 1.0085
    },
    {
     "run": 3,
     "a_ms": 24.8964,
     "b_ms": 25.9296,
     "ratio": 0.9602
    }
   ],
   "published": false,
   "excluded_reason": "差が 5% 未満（有意と言えない）"
  },
  {
   "id": "bytes-join-vs-concat",
   "a": "bytes += 連結",
   "b": "b''.join",
   "median_a_ms": 54.257,
   "median_b_ms": 0.701,
   "ratio": 77.377,
   "ratio_by_run": [
    77.236,
    79.879,
    68.81
   ],
   "cv_a": 0.7,
   "cv_b": 6.3,
   "cv_ratio": 6.1,
   "runs": [
    {
     "run": 1,
     "a_ms": 54.1577,
     "b_ms": 0.7012,
     "ratio": 77.2357
    },
    {
     "run": 2,
     "a_ms": 55.0605,
     "b_ms": 0.6893,
     "ratio": 79.8789
    },
    {
     "run": 3,
     "a_ms": 54.2569,
     "b_ms": 0.7885,
     "ratio": 68.8103
    }
   ],
   "published": false,
   "excluded_reason": "片側の処理が 1ms 未満（比率が機械ノイズになる）"
  },
  {
   "id": "str-concat-vs-join",
   "a": "+= 逐次連結",
   "b": "join",
   "median_a_ms": 0.64,
   "median_b_ms": 0.041,
   "ratio": 15.62,
   "ratio_by_run": [
    13.775,
    15.61,
    16.987
   ],
   "cv_a": 2.5,
   "cv_b": 11.5,
   "cv_ratio": 8.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 0.6736,
     "b_ms": 0.0489,
     "ratio": 13.775
    },
    {
     "run": 2,
     "a_ms": 0.64,
     "b_ms": 0.041,
     "ratio": 15.6097
    },
    {
     "run": 3,
     "a_ms": 0.6404,
     "b_ms": 0.0377,
     "ratio": 16.9867
    }
   ],
   "published": false,
   "excluded_reason": "片側の処理が 1ms 未満（比率が機械ノイズになる）"
  }
 ],
 "findings": [
  {
   "id": "try-except-vs-check",
   "a": "例外で分岐",
   "b": "in で判定",
   "median_a_ms": 49.678,
   "median_b_ms": 12.101,
   "ratio": 4.105,
   "ratio_by_run": [
    3.96,
    4.106,
    4.115
   ],
   "cv_a": 2.6,
   "cv_b": 0.9,
   "cv_ratio": 1.7,
   "runs": [
    {
     "run": 1,
     "a_ms": 47.067,
     "b_ms": 11.8843,
     "ratio": 3.9604
    },
    {
     "run": 2,
     "a_ms": 49.6781,
     "b_ms": 12.1005,
     "ratio": 4.1055
    },
    {
     "run": 3,
     "a_ms": 49.9489,
     "b_ms": 12.1387,
     "ratio": 4.1148
    }
   ],
   "published": true,
   "slug": "try-except-vs-check"
  },
  {
   "id": "json-vs-pickle",
   "a": "json.dumps",
   "b": "pickle.dumps",
   "median_a_ms": 56.742,
   "median_b_ms": 21.661,
   "ratio": 2.62,
   "ratio_by_run": [
    2.49,
    2.608,
    2.694
   ],
   "cv_a": 1.4,
   "cv_b": 2.5,
   "cv_ratio": 3.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 56.7425,
     "b_ms": 22.791,
     "ratio": 2.4897
    },
    {
     "run": 2,
     "a_ms": 56.4945,
     "b_ms": 21.6609,
     "ratio": 2.6081
    },
    {
     "run": 3,
     "a_ms": 58.2995,
     "b_ms": 21.6371,
     "ratio": 2.6944
    }
   ],
   "published": true,
   "slug": "json-vs-pickle"
  },
  {
   "id": "copy-vs-deepcopy",
   "a": "copy（浅い）",
   "b": "deepcopy",
   "median_a_ms": 17.536,
   "median_b_ms": 659.718,
   "ratio": 0.027,
   "ratio_by_run": [
    0.026,
    0.026,
    0.027
   ],
   "cv_a": 0.7,
   "cv_b": 0.9,
   "cv_ratio": 0.9,
   "runs": [
    {
     "run": 1,
     "a_ms": 17.3647,
     "b_ms": 654.667,
     "ratio": 0.0265
    },
    {
     "run": 2,
     "a_ms": 17.5359,
     "b_ms": 669.3478,
     "ratio": 0.0262
    },
    {
     "run": 3,
     "a_ms": 17.6847,
     "b_ms": 659.7177,
     "ratio": 0.0268
    }
   ],
   "published": true,
   "slug": "copy-vs-deepcopy"
  },
  {
   "id": "fstring-vs-percent",
   "a": "% 書式",
   "b": "f-string",
   "median_a_ms": 51.024,
   "median_b_ms": 29.235,
   "ratio": 1.745,
   "ratio_by_run": [
    1.863,
    1.752,
    1.741
   ],
   "cv_a": 4.0,
   "cv_b": 0.8,
   "cv_ratio": 3.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 55.2386,
     "b_ms": 29.6424,
     "ratio": 1.8635
    },
    {
     "run": 2,
     "a_ms": 51.0241,
     "b_ms": 29.1272,
     "ratio": 1.7518
    },
    {
     "run": 3,
     "a_ms": 50.9031,
     "b_ms": 29.235,
     "ratio": 1.7412
    }
   ],
   "published": true,
   "slug": "fstring-vs-percent"
  },
  {
   "id": "startswith-vs-regex",
   "a": "startswith",
   "b": "正規表現",
   "median_a_ms": 23.523,
   "median_b_ms": 54.715,
   "ratio": 0.43,
   "ratio_by_run": [
    0.411,
    0.418,
    0.445
   ],
   "cv_a": 2.1,
   "cv_b": 2.5,
   "cv_ratio": 3.5,
   "runs": [
    {
     "run": 1,
     "a_ms": 23.5233,
     "b_ms": 57.2758,
     "ratio": 0.4107
    },
    {
     "run": 2,
     "a_ms": 22.8528,
     "b_ms": 54.7149,
     "ratio": 0.4177
    },
    {
     "run": 3,
     "a_ms": 24.0422,
     "b_ms": 54.042,
     "ratio": 0.4449
    }
   ],
   "published": true,
   "slug": "startswith-vs-regex"
  },
  {
   "id": "list-index-vs-iterate",
   "a": "index 参照",
   "b": "直接イテレート",
   "median_a_ms": 5.348,
   "median_b_ms": 3.472,
   "ratio": 1.54,
   "ratio_by_run": [
    1.556,
    1.514,
    1.545
   ],
   "cv_a": 0.6,
   "cv_b": 1.1,
   "cv_ratio": 1.2,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.4026,
     "b_ms": 3.4717,
     "ratio": 1.5562
    },
    {
     "run": 2,
     "a_ms": 5.3479,
     "b_ms": 3.5321,
     "ratio": 1.5141
    },
    {
     "run": 3,
     "a_ms": 5.3223,
     "b_ms": 3.4442,
     "ratio": 1.5453
    }
   ],
   "published": true,
   "slug": "index-vs-iterate"
  },
  {
   "id": "sum-range-vs-list",
   "a": "sum(range(n))",
   "b": "sum(list(range(n)))",
   "median_a_ms": 17.465,
   "median_b_ms": 31.157,
   "ratio": 0.561,
   "ratio_by_run": [
    0.545,
    0.569,
    0.595
   ],
   "cv_a": 3.7,
   "cv_b": 0.8,
   "cv_ratio": 3.6,
   "runs": [
    {
     "run": 1,
     "a_ms": 17.0077,
     "b_ms": 31.2145,
     "ratio": 0.5449
    },
    {
     "run": 2,
     "a_ms": 17.4646,
     "b_ms": 30.6827,
     "ratio": 0.5692
    },
    {
     "run": 3,
     "a_ms": 18.5516,
     "b_ms": 31.1568,
     "ratio": 0.5954
    }
   ],
   "published": true,
   "slug": "sum-range-vs-list"
  },
  {
   "id": "json-roundtrip-vs-deepcopy",
   "a": "JSON ラウンドトリップ",
   "b": "deepcopy",
   "median_a_ms": 152.371,
   "median_b_ms": 245.99,
   "ratio": 0.619,
   "ratio_by_run": [
    0.619,
    0.619,
    0.608
   ],
   "cv_a": 1.5,
   "cv_b": 0.7,
   "cv_ratio": 0.9,
   "runs": [
    {
     "run": 1,
     "a_ms": 152.3712,
     "b_ms": 245.9899,
     "ratio": 0.6194
    },
    {
     "run": 2,
     "a_ms": 153.013,
     "b_ms": 247.0557,
     "ratio": 0.6193
    },
    {
     "run": 3,
     "a_ms": 147.8083,
     "b_ms": 243.1777,
     "ratio": 0.6078
    }
   ],
   "published": true,
   "slug": "json-vs-deepcopy"
  },
  {
   "id": "dedupe-set-vs-dict",
   "a": "set() で重複除去",
   "b": "dict.fromkeys",
   "median_a_ms": 5.44,
   "median_b_ms": 8.086,
   "ratio": 0.673,
   "ratio_by_run": [
    0.665,
    0.663,
    0.712
   ],
   "cv_a": 3.3,
   "cv_b": 1.0,
   "cv_ratio": 3.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.3262,
     "b_ms": 8.0029,
     "ratio": 0.6655
    },
    {
     "run": 2,
     "a_ms": 5.44,
     "b_ms": 8.2074,
     "ratio": 0.6628
    },
    {
     "run": 3,
     "a_ms": 5.7567,
     "b_ms": 8.0856,
     "ratio": 0.712
    }
   ],
   "published": true,
   "slug": "dedupe-set-vs-dict"
  },
  {
   "id": "enumerate-vs-range",
   "a": "range(len())",
   "b": "enumerate",
   "median_a_ms": 5.353,
   "median_b_ms": 7.747,
   "ratio": 0.691,
   "ratio_by_run": [
    0.681,
    0.684,
    0.721
   ],
   "cv_a": 1.9,
   "cv_b": 1.0,
   "cv_ratio": 2.6,
   "runs": [
    {
     "run": 1,
     "a_ms": 5.3528,
     "b_ms": 7.8615,
     "ratio": 0.6809
    },
    {
     "run": 2,
     "a_ms": 5.2953,
     "b_ms": 7.7467,
     "ratio": 0.6836
    },
    {
     "run": 3,
     "a_ms": 5.5327,
     "b_ms": 7.6778,
     "ratio": 0.7206
    }
   ],
   "published": true,
   "slug": "enumerate-vs-range"
  },
  {
   "id": "dict-vs-object-attr",
   "a": "dict の参照",
   "b": "__slots__ 属性",
   "median_a_ms": 27.037,
   "median_b_ms": 24.073,
   "ratio": 1.123,
   "ratio_by_run": [
    1.114,
    1.113,
    1.123
   ],
   "cv_a": 1.3,
   "cv_b": 1.4,
   "cv_ratio": 0.4,
   "runs": [
    {
     "run": 1,
     "a_ms": 27.5223,
     "b_ms": 24.7134,
     "ratio": 1.1137
    },
    {
     "run": 2,
     "a_ms": 26.6472,
     "b_ms": 23.9442,
     "ratio": 1.1129
    },
    {
     "run": 3,
     "a_ms": 27.0374,
     "b_ms": 24.0731,
     "ratio": 1.1231
    }
   ],
   "published": true,
   "slug": "dict-vs-slots"
  },
  {
   "id": "listcomp-vs-append",
   "a": "append ループ",
   "b": "リスト内包表記",
   "median_a_ms": 19.181,
   "median_b_ms": 17.292,
   "ratio": 1.109,
   "ratio_by_run": [
    1.109,
    1.101,
    1.103
   ],
   "cv_a": 1.5,
   "cv_b": 1.3,
   "cv_ratio": 0.3,
   "runs": [
    {
     "run": 1,
     "a_ms": 19.181,
     "b_ms": 17.2924,
     "ratio": 1.1092
    },
    {
     "run": 2,
     "a_ms": 18.617,
     "b_ms": 16.9082,
     "ratio": 1.1011
    },
    {
     "run": 3,
     "a_ms": 19.2641,
     "b_ms": 17.4644,
     "ratio": 1.103
    }
   ],
   "published": true,
   "slug": "listcomp-vs-append"
  },
  {
   "id": "sorted-vs-sort",
   "a": "sorted() で新リスト",
   "b": "list.sort() インプレース",
   "median_a_ms": 24.1,
   "median_b_ms": 22.668,
   "ratio": 1.063,
   "ratio_by_run": [
    1.045,
    1.116,
    1.032
   ],
   "cv_a": 3.4,
   "cv_b": 0.9,
   "cv_ratio": 3.5,
   "runs": [
    {
     "run": 1,
     "a_ms": 24.0996,
     "b_ms": 23.066,
     "ratio": 1.0448
    },
    {
     "run": 2,
     "a_ms": 25.3074,
     "b_ms": 22.6684,
     "ratio": 1.1164
    },
    {
     "run": 3,
     "a_ms": 23.3301,
     "b_ms": 22.6029,
     "ratio": 1.0322
    }
   ],
   "published": true,
   "slug": "sorted-vs-sort"
  }
 ]
}