csv-to-markdown-throughput

このページは FormatArc のブログ記事が引用している実測の生データです。検索結果には表示されません (noindex)。

Files

FileSize
README.md911 B
measure.ts2.4 KB
results.json1022 B

README.md

# CSV -> Markdown table conversion throughput

`csv-to-markdown-guide` 記事の変換速度主張の一次ソース。本番と同一の変換経路
(`lib/tooling.ts` の `runToolConversion("csv-to-markdown", ...)`、papaparse +
remark パイプライン) を Node 上で直接呼び、5 列の合成 CSV を変換する時間を測る。

## 実行環境

- Apple M5 Pro / macOS (Darwin 25.5.0)
- Node v26 (tsx 経由)。ブラウザ実行時は端末・ブラウザにより変動する
- warm 7 回の median (初回 warm-up は計測外)

## 再現手順

```bash
npx tsx scripts/benchmarks/csv-to-markdown-throughput/measure.ts
```

## 実測結果 (2026-07-13)

| rows | input bytes | median ms |
|---|---|---|
| 10,000 | 484,585 (~0.5 MB) | 7.0 |
| 50,000 | 2,556,145 (~2.6 MB) | 36.0 |
| 100,000 | 5,145,595 (~5.1 MB) | 75.4 |

記事本文の数値は `results.json` と完全一致させること。

results.json

{
  "topic": "CSV -> Markdown table conversion throughput (production code path)",
  "measuredAt": "2026-07-13",
  "environment": {
    "machine": "Apple M5 Pro (macOS, Darwin 25.5.0)",
    "node": "v26.3.1",
    "note": "runToolConversion('csv-to-markdown') from lib/tooling.ts (papaparse + remark pipeline), median of 7 warm runs, 5-column synthetic CSV"
  },
  "results": {
    "10000": {
      "rows": 10000,
      "inputBytes": 484585,
      "medianMs": 7,
      "runsMs": [
        7.6,
        7.6,
        7,
        6.4,
        6.6,
        7,
        7.1
      ]
    },
    "50000": {
      "rows": 50000,
      "inputBytes": 2556145,
      "medianMs": 36,
      "runsMs": [
        38.2,
        35.2,
        34.7,
        36,
        43.7,
        37.8,
        35.5
      ]
    },
    "100000": {
      "rows": 100000,
      "inputBytes": 5145595,
      "medianMs": 75.4,
      "runsMs": [
        77.1,
        73.4,
        75.8,
        70.8,
        78.9,
        70.8,
        75.4
      ]
    }
  }
}