---
title: "Speed, memory and I/O rows, 0.8: arm64 (Apple M2)"
url: https://recursiveai.org/onemedia/docs/bench-arm64-0-8/
description: "The 0.8 speed run on arm64 (Apple M2, macOS): every area, each row against the fastest managed comparator, with allocations, peak memory, first-open times and the native tools’ times."
version: "0.8.0-preview.2"
source: https://github.com/recursive-ai-oss/onemedia-csharp/blob/16456e4d405f037d1b029e967dfc7d028ae3a0d5/docs/bench-results/0.8-arm64.md
---

# Speed, memory and I/O rows, 0.8: arm64 (Apple M2)

Method: [bench.md](https://recursiveai.org/onemedia/docs/bench/). Ratio = our median / the fastest managed comparator's median on the same file or workload (below 1.00× is faster); the gate is a geometric mean ≤ 1.00× overall and no row above 1.25×. Rows without a managed comparator pass and show our absolute times. Native tools are information.

## Machine and versions

- Host: arm64-mac; Apple M2; 8 logical cores; macOS 27.0.1 Arm64; ISA neon crc32 aes dotprod; runtime 10.0.11 (.NET 10.0.11); storage of the corpus: local NVMe/SSD, every file read once before its rows, so it is in the page cache for all implementations.
- Packages as restored: SharpMP4 0.3.2; RecursiveAI.OneAudio 1.7.0; MetadataExtractor 2.9.3; TagLibSharp 2.3.0.0; z440.atl.core 7.19; Matroska 0.0.12; LibSE (Subtitle Edit core) 5.3.0 and SubtitlesParser 1.5.1 for the subtitle rows.
- Native tools (information): ffmpeg version 8.0 Copyright (c) 2000-2025 the FFmpeg developers; MP4Box - GPAC version 26.07-revrelease; mkvmerge v103.0 ('The Darkness') 64-bit; MediaInfo MediaInfo Command line,; ExifTool 13.60.
- Method: one fresh process per (row, implementation, file); cold first run recorded in the Note column (information only, not gated); warm-up of at least 30 runs and 1.5 s; 3 samples (managed) and 3 runs (tools, once over 1 GiB); median reported.
- SDK 10.0.400, built Release, warnings as errors.

## Jobs

Every group ran as `wq run --class bench --max 20m` (exclusive: the queue starts a bench only when no other bench, heavy or GPU job runs). Load average is the one-minute figure before / during (mean, max of 5 s samples) / after.

| Group | wq job | Started | Contents | Load average | Elapsed |
|---|---|---|---|---|---|
| G1 | 000549 (bench) | 2026-11-02 21:17Z | demux and probe (mp4-demux, mp4-audio, mp4-probe, mkv-demux, mkv-probe) | before 2.82; during mean 2.89, max 3.15 over 26 samples at 5 s; after 2.96 | 2.1 min |
| G2 | 000546 (bench) | 2026-11-02 21:06Z | mux, remux, tag write (mp4-mux, mp4-remux, tagw-*, mkv-mux, remux-mem, playable) | before 5.98; during mean 5.47, max 6.39 over 24 samples at 5 s; after 4.20 | 1.9 min |
| G3 | 000547 (bench) | 2026-11-02 21:10Z | tag read and the readers without a managed comparator (mp3/xiph/asf/pcm tags, avi, xiph/flv, mpeg, asf demux, repair-index, package-hls) | before 4.20; during mean 3.35, max 4.20 over 47 samples at 5 s; after 3.05 | 3.9 min |
| G4 | 000548 (bench) | - | subtitle parse and convert (subsbench -n 30 20000 100000) | before: `15:10  up 14 days, 18:38, 1 user, load averages: 3.19 3.77 3.48`; after: `15:14  up 14 days, 18:42, 1 user, load averages: 3.46 3.53 3.43` | - |
| G5 | 000550 (bench) | 2026-11-02 22:28Z | tag write re-run after the Matroska planning change (tagw-id3, tagw-flac, tagw-ilst, tagw-riff, tagw-mkv; the tagw-* tables and bar lines below are from this run) | before 3.46; during mean 2.90, max 3.51 over 13 samples at 5 s; after 2.52 | ~2 min |

## Against the bar

| Row | Files with a ratio | Geomean | Worst | Verdict |
|---|---:|---:|---:|---|
| mp4-demux | 3/4 | 0.08× | 0.19× | at the bar |
| mp4-audio | 2/4 | 0.51× | 0.56× | at the bar |
| mp4-probe | 4/4 | 0.12× | 0.28× | at the bar |
| mkv-demux | 5/5 | 0.25× | 0.33× | at the bar |
| mkv-probe | 5/5 | 0.56× | 0.72× | at the bar |
| mp4-mux | 3/3 | 0.09× | 0.18× | at the bar |
| mp4-remux | 3/3 | 0.09× | 0.17× | at the bar |
| tagw-id3 | 4/4 | 0.30× | 0.35× | at the bar |
| tagw-flac | 2/2 | 0.32× | 0.32× | at the bar |
| tagw-ilst | 2/2 | 0.34× | 0.37× | at the bar |
| tagw-riff | 3/3 | 0.37× | 0.38× | at the bar |
| tagw-mkv | 1/2 | 0.76× | 0.76× | at the bar |
| playable | 0/1 | - | - | no managed comparator, so the row passes (times are information) |
| mkv-mux | 0/5 | - | - | no managed comparator, so the row passes (times are information) |
| mp3-tags | 7/7 | 0.61× | 0.87× | at the bar |
| xiph-tags | 8/8 | 0.73× | 1.13× | at the bar |
| xiph-demux | 0/7 | - | - | no managed comparator, so the row passes (times are information) |
| asf-tags | 6/6 | 0.72× | 0.94× | at the bar |
| pcm-tags | 8/8 | 0.61× | 0.88× | at the bar |
| avi-demux | 0/4 | - | - | no managed comparator, so the row passes (times are information) |
| repair-index | 0/6 | - | - | no managed comparator, so the row passes (times are information) |
| package-hls | 0/2 | - | - | no managed comparator, so the row passes (times are information) |
| avi-probe | 4/4 | 0.57× | 0.69× | at the bar |
| subs-parse | 8/8 | 0.51× | 1.07× | at the bar |
| subs-convert | 6/6 | 0.42× | 0.90× | at the bar |

Overall geometric mean of every per-file ratio above (rows with a managed comparator): **0.399×** over 84 ratios; worst single ratio **1.13×** (blender/big_buck_bunny_480p_stereo.ogg).

## Subtitle rows (SubtitlesParser 1.5.1 and Subtitle Edit core 5.3.0 as comparators; median of 30 samples)

| Cues | Row | OneMedia median ms (min) | KiB/run | Fastest managed comparator | Its median ms (min) | KiB/run | Ratio |
|---:|---|---:|---:|---|---:|---:|---:|
| 20000 | parse srt | 7.75 (4.95) | 10754 | SubtitleEdit core | 7.24 (5.48) | 13558 | 1.07× |
| 20000 | parse vtt | 4.44 (4.40) | 11327 | SubtitleEdit core | 34.58 (28.57) | 35599 | 0.13× |
| 20000 | parse ass | 10.57 (6.81) | 12372 | SubtitleEdit core | 11.89 (8.75) | 19780 | 0.89× |
| 20000 | parse ttml | 49.37 (37.67) | 43599 | SubtitleEdit core | 94.82 (84.72) | 75772 | 0.52× |
| 20000 | convert srt->vtt | 18.10 (8.49) | 20119 | SubtitleEdit core | 27.01 (21.98) | 36378 | 0.67× |
| 20000 | convert srt->ass | 16.11 (14.75) | 22345 | SubtitleEdit core | 17.94 (14.17) | 23809 | 0.90× |
| 20000 | convert srt->ttml | 19.61 (18.38) | 27530 | SubtitleEdit core | 121.40 (118.80) | 300960 | 0.16× |
| 100000 | parse srt | 68.45 (39.69) | 53812 | SubtitleEdit core | 63.95 (36.00) | 67891 | 1.07× |
| 100000 | parse vtt | 35.42 (32.11) | 56580 | SubtitleEdit core | 192.10 (174.06) | 177532 | 0.18× |
| 100000 | parse ass | 77.84 (54.65) | 61387 | SubtitleEdit core | 80.92 (66.16) | 98678 | 0.96× |
| 100000 | parse ttml | 200.71 (197.29) | 215980 | SubtitleEdit core | 571.28 (514.78) | 377551 | 0.35× |
| 100000 | convert srt->vtt | 63.20 (53.90) | 100586 | SubtitleEdit core | 184.01 (157.54) | 181957 | 0.34× |
| 100000 | convert srt->ass | 76.89 (58.71) | 108829 | SubtitleEdit core | 108.41 (71.32) | 119281 | 0.71× |
| 100000 | convert srt->ttml | 144.89 (99.74) | 137575 | SubtitleEdit core | 608.05 (569.29) | 1505074 | 0.24× |

Not every comparator reads every format: SubtitlesParser has no TTML reader and parses only a quarter of the ASS file at 100,000 cues (23,411 cues), so the faster Subtitle Edit core is the comparator there.

## Tables

Each table is one row of the speed matrix. Columns: median time, ratio against the fastest managed comparator, bytes allocated per run and per packet (the whole open-and-read, not the pull loop alone: see the allocation gate in [0.8-allocations-memory-io.md](https://recursiveai.org/onemedia/docs/bench-memory-io-0-8/)), packet count, payload read, peak and baseline resident memory of the process, and the cold first run in the Note column.

## mp4-demux: MP4/MOV: read every packet of every track

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 40.8 µs | 0.03× | 23.6 KiB | 78.3 B | 309 | 0.2 | - | - | 42.1 | cold first run 21.35 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | SharpMP4 | 1.39 ms | 1.00× | 1.4 MiB | 4633.4 B | 309 | 0.2 | - | - | 42.2 | cold first run 55.72 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 2.58 ms | 0.08× | 57.7 KiB | 3.2 B | 18671 | 26.5 | - | - | 42.2 | cold first run 28.17 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | SharpMP4 | 31.27 ms | 1.00× | 42.6 MiB | 2390.8 B | 18671 | 26.5 | - | - | 42.2 | cold first run 94.45 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | OneMedia | 55.25 ms | 0.19× | 2.1 MiB | 52.7 B | 42276 | 691.1 | - | - | 42.1 | cold first run 86.61 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | SharpMP4 | 286.00 ms | 1.00× | 801.0 MiB | 19866.2 B | 42276 | 691.1 | - | - | 42.1 | cold first run 816.66 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia | 56.99 ms | - | 2.1 MiB | 51.7 B | 42276 | 691.1 | - | - | 42.3 | cold first run 91.16 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | SharpMP4 | fail | - | - | - | - | - | - | - | 42.1 | IndexOutOfRangeException: Index was outside the bounds of the array. |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/big_buck_bunny_1080p_h264.mov | ffmpeg -c copy -f null | 184.28 ms | 184.27 ms – 206.66 ms | 66.7 |  |
| generated/bench/frag-bbb-1080p.mp4 | ffmpeg -c copy -f null | 255.00 ms | 215.75 ms – 269.58 ms | 110.9 |  |
| generated/mp4/h264-aac.mp4 | ffmpeg -c copy -f null | 35.42 ms | 35.00 ms – 39.02 ms | 18.1 |  |
| samples/MPEG-4/video.mp4 | ffmpeg -c copy -f null | 61.50 ms | 60.95 ms – 62.14 ms | 17.4 |  |

## mp4-audio: MP4/MOV: read the audio track's packets

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 33.9 µs | 0.47× | 23.6 KiB | 128.0 B | 189 | 0.0 | - | - | 42.1 | cold first run 21.58 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneAudio Mp4PacketSource | 72.9 µs | 1.00× | 71.6 KiB | 388.2 B | 189 | 0.0 | - | - | 42.2 | cold first run 10.72 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia, length asked of the file each time | 45.0 µs | 0.62× | 23.7 KiB | 128.6 B | 189 | 0.0 | - | - | 42.2 | cold first run 23.02 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 366.3 µs | 0.56× | 57.7 KiB | 8.2 B | 7200 | 1.9 | - | - | 42.2 | cold first run 22.15 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneAudio Mp4PacketSource | 654.8 µs | 1.00× | 97.6 KiB | 13.9 B | 7200 | 1.9 | - | - | 42.3 | cold first run 10.39 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia, length asked of the file each time | 370.5 µs | 0.57× | 57.8 KiB | 8.2 B | 7200 | 1.9 | - | - | 42.2 | cold first run 22.23 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | OneMedia | 4.19 ms | - | 62.5 KiB | 2.3 B | 27960 | 31.1 | - | - | 42.2 | cold first run 32.17 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | OneAudio Mp4PacketSource | fail | - | - | - | - | - | - | - | 42.2 | UnsupportedAudioFormatException: Audio track 0 uses a QuickTime sound description version this library does not read. |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | OneMedia, length asked of the file each time | 4.18 ms | - | 62.6 KiB | 2.3 B | 27960 | 31.1 | - | - | 42.3 | cold first run 32.53 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia | 4.69 ms | - | 21.7 KiB | 0.8 B | 27960 | 31.1 | - | - | 42.2 | cold first run 39.09 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneAudio Mp4PacketSource | fail | - | - | - | - | - | - | - | 42.2 | UnsupportedAudioFormatException: Fragmented MP4 files (mvex boxes) are not supported. |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia, length asked of the file each time | 4.91 ms | - | 21.8 KiB | 0.8 B | 27960 | 31.1 | - | - | 42.2 | cold first run 39.41 ms |

## mp4-probe: MP4/MOV: open, track list, duration, tags

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 17.8 µs | 0.28× | 23.6 KiB | - | - | - | 2 | - | 42.2 | cold first run 20.52 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | ATL.NET | 108.1 µs | 1.72× | 146.6 KiB | - | - | - | 0 | - | 42.1 | cold first run 34.68 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | MetadataExtractor | 81.1 µs | 1.29× | 77.7 KiB | - | - | - | 48 | - | 42.2 | cold first run 11.42 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | TagLib# | 62.9 µs | 1.00× | 36.7 KiB | - | - | - | 2 | - | 42.2 | fastest comparator; cold first run 9.55 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 23.4 µs | 0.20× | 57.7 KiB | - | - | - | 6 | - | 42.2 | cold first run 19.94 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | ATL.NET | 408.1 µs | 3.42× | 151.7 KiB | - | - | - | 0 | - | 42.2 | cold first run 38.92 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | MetadataExtractor | 154.6 µs | 1.30× | 91.8 KiB | - | - | - | 96 | - | 42.2 | cold first run 10.44 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | TagLib# | 119.3 µs | 1.00× | 78.2 KiB | - | - | - | 2 | - | 42.1 | fastest comparator; cold first run 10.31 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | OneMedia | 40.6 µs | 0.28× | 62.4 KiB | - | - | - | 3 | - | 42.2 | cold first run 20.70 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | ATL.NET | 976.1 µs | 6.68× | 229.2 KiB | - | - | - | 0 | - | 42.2 | cold first run 41.57 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | MetadataExtractor | 146.1 µs | 1.00× | 87.7 KiB | - | - | - | 61 | - | 42.1 | fastest comparator; cold first run 11.92 ms |
| blender/big_buck_bunny_1080p_h264.mov | 691.5 MiB | TagLib# | fail | - | - | - | - | - | - | - | 42.1 | UnsupportedFormatException: blender/big_buck_bunny_1080p_h264.mov (taglib/mov) |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia | 16.2 µs | 0.01× | 20.9 KiB | - | - | - | 3 | - | 42.3 | cold first run 18.50 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | ATL.NET | 5.18 ms | 4.05× | 483.7 KiB | - | - | - | 0 | - | 42.3 | cold first run 51.04 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | MetadataExtractor | 4.57 ms | 3.57× | 183.6 KiB | - | - | - | 60 | - | 42.1 | cold first run 15.41 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | TagLib# | 1.28 ms | 1.00× | 521.2 KiB | - | - | - | 2 | - | 42.3 | fastest comparator; cold first run 11.20 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/big_buck_bunny_1080p_h264.mov | ExifTool | 89.05 ms | 88.47 ms – 89.95 ms | 27.0 |  |
| blender/big_buck_bunny_1080p_h264.mov | MP4Box -info | 26.53 ms | 26.27 ms – 28.10 ms | 9.2 |  |
| blender/big_buck_bunny_1080p_h264.mov | MediaInfo | 36.67 ms | 35.80 ms – 37.48 ms | 14.7 |  |
| blender/big_buck_bunny_1080p_h264.mov | ffprobe -show_format -show_streams | 37.58 ms | 37.01 ms – 37.66 ms | 26.2 |  |
| generated/bench/frag-bbb-1080p.mp4 | ExifTool | 177.31 ms | 177.23 ms – 179.07 ms | 27.4 |  |
| generated/bench/frag-bbb-1080p.mp4 | MP4Box -info | 28.50 ms | 28.44 ms – 29.46 ms | 11.6 |  |
| generated/bench/frag-bbb-1080p.mp4 | MediaInfo | 51.07 ms | 50.87 ms – 51.52 ms | 14.5 |  |
| generated/bench/frag-bbb-1080p.mp4 | ffprobe -show_format -show_streams | 63.59 ms | 63.34 ms – 63.93 ms | 40.1 |  |
| generated/mp4/h264-aac.mp4 | ExifTool | 87.02 ms | 84.54 ms – 87.05 ms | 25.6 |  |
| generated/mp4/h264-aac.mp4 | MP4Box -info | 26.23 ms | 25.88 ms – 32.68 ms | 8.6 |  |
| generated/mp4/h264-aac.mp4 | MediaInfo | 27.60 ms | 27.08 ms – 29.42 ms | 11.0 |  |
| generated/mp4/h264-aac.mp4 | ffprobe -show_format -show_streams | 34.27 ms | 33.45 ms – 42.62 ms | 17.9 |  |
| samples/MPEG-4/video.mp4 | ExifTool | 120.02 ms | 120.01 ms – 121.07 ms | 40.0 |  |
| samples/MPEG-4/video.mp4 | MP4Box -info | 26.15 ms | 25.79 ms – 27.32 ms | 8.6 |  |
| samples/MPEG-4/video.mp4 | MediaInfo | 28.33 ms | 27.96 ms – 28.84 ms | 11.5 |  |
| samples/MPEG-4/video.mp4 | ffprobe -show_format -show_streams | 34.69 ms | 34.25 ms – 35.46 ms | 16.5 |  |

## mkv-demux: Matroska/WebM: read every packet

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia | 94.6 µs | 0.21× | 1.0 MiB | 3513.6 B | 309 | 0.2 | - | - | 42.2 | cold first run 23.89 ms |
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia, length asked of the file each time | 214.2 µs | 0.48× | 1.0 MiB | 3513.9 B | 309 | 0.2 | - | - | 42.2 | cold first run 23.95 ms |
| generated/mkv/h264-aac.mkv | 0.2 MiB | StefH Matroska | 444.0 µs | 1.00× | 672.2 KiB | 2227.5 B | 309 | 0.2 | - | - | 42.3 | cold first run 16.31 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia | 2.29 ms | 0.21× | 1.0 MiB | 189.4 B | 5735 | 22.2 | - | - | 42.1 | cold first run 29.01 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia, length asked of the file each time | 3.22 ms | 0.29× | 1.0 MiB | 189.4 B | 5735 | 22.2 | - | - | 42.2 | cold first run 30.46 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | StefH Matroska | 11.04 ms | 1.00× | 46.0 MiB | 18698.1 B | 2582 | 22.2 | - | - | 42.2 | packet count differs from OneMedia's 5735; cold first run 26.67 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | OneMedia | 2.75 ms | 0.21× | 1.0 MiB | 254.5 B | 4298 | 30.3 | - | - | 42.3 | cold first run 29.03 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | OneMedia, length asked of the file each time | 3.35 ms | 0.25× | 1.0 MiB | 254.5 B | 4298 | 30.3 | - | - | 42.2 | cold first run 28.87 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | StefH Matroska | 13.22 ms | 1.00× | 61.6 MiB | 41197.3 B | 1568 | 30.3 | - | - | 42.2 | packet count differs from OneMedia's 4298; cold first run 27.72 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | OneMedia | 139.51 ms | 0.33× | 1.0 MiB | 22.2 B | 49323 | 1125.2 | - | - | 42.2 | cold first run 151.33 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | OneMedia, length asked of the file each time | 143.39 ms | 0.34× | 1.0 MiB | 22.2 B | 49323 | 1125.2 | - | - | 42.2 | cold first run 160.55 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | StefH Matroska | 416.85 ms | 1.00× | 2265.6 MiB | 93606.3 B | 25379 | 1125.2 | - | - | 42.1 | packet count differs from OneMedia's 49323; cold first run 551.35 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | OneMedia | 51.95 ms | 0.30× | 1.0 MiB | 13.7 B | 80000 | 544.6 | - | - | 42.2 | cold first run 103.85 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | OneMedia, length asked of the file each time | 61.81 ms | 0.36× | 1.0 MiB | 13.7 B | 80000 | 544.6 | - | - | 42.2 | cold first run 114.99 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | StefH Matroska | 171.55 ms | 1.00× | 1097.5 MiB | 44895.2 B | 25634 | 544.7 | - | - | 42.1 | packet count differs from OneMedia's 80000; cold first run 215.35 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/Sintel.2010.1080p.mkv | ffmpeg -c copy -f null | 344.54 ms | 344.54 ms – 344.54 ms | 53.2 |  |
| blender/Sintel.2010.1080p.mkv | mkvextract tracks (first track) | 203.37 ms | 203.37 ms – 203.37 ms | 27.0 |  |
| blender/tears_of_steel_1080p.webm | ffmpeg -c copy -f null | 199.84 ms | 192.85 ms – 201.54 ms | 19.3 |  |
| blender/tears_of_steel_1080p.webm | mkvextract tracks (first track) | 132.81 ms | 131.96 ms – 135.36 ms | 29.5 |  |
| generated/mkv/h264-aac.mkv | ffmpeg -c copy -f null | 34.19 ms | 33.90 ms – 35.17 ms | 17.8 |  |
| generated/mkv/h264-aac.mkv | mkvextract tracks (first track) | 51.07 ms | 50.89 ms – 62.56 ms | 15.5 |  |
| matroska-test-files/test1.mkv | ffmpeg -c copy -f null | 45.50 ms | 44.69 ms – 47.84 ms | 16.3 |  |
| matroska-test-files/test1.mkv | mkvextract tracks (first track) | 56.19 ms | 56.06 ms – 56.50 ms | 24.4 |  |
| matroska-test-files/test5.mkv | ffmpeg -c copy -f null | 59.66 ms | 58.81 ms – 60.14 ms | 26.8 |  |
| matroska-test-files/test5.mkv | mkvextract tracks (first track) | 56.96 ms | 56.94 ms – 59.40 ms | 24.1 |  |

## mkv-probe: Matroska/WebM: open, track list, duration

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia | 14.2 µs | 0.58× | 36.1 KiB | - | - | - | 2 | - | 42.3 | cold first run 16.41 ms |
| generated/mkv/h264-aac.mkv | 0.2 MiB | NEbml element reader | 24.3 µs | 1.00× | 68.7 KiB | - | - | - | 2 | - | 42.2 | cold first run 3.10 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia | 13.7 µs | 0.62× | 36.6 KiB | - | - | - | 2 | - | 42.1 | cold first run 17.18 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | NEbml element reader | 22.1 µs | 1.00× | 68.3 KiB | - | - | - | 2 | - | 42.2 | cold first run 3.02 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | OneMedia | 17.4 µs | 0.45× | 44.2 KiB | - | - | - | 11 | - | 42.2 | cold first run 16.63 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | NEbml element reader | 38.3 µs | 1.00× | 72.8 KiB | - | - | - | 11 | - | 42.2 | cold first run 3.40 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | OneMedia | 18.0 µs | 0.48× | 44.9 KiB | - | - | - | 12 | - | 42.2 | cold first run 15.82 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | NEbml element reader | 37.4 µs | 1.00× | 73.3 KiB | - | - | - | 12 | - | 42.1 | cold first run 2.69 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | OneMedia | 16.2 µs | 0.72× | 43.9 KiB | - | - | - | 2 | - | 42.2 | cold first run 15.76 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | NEbml element reader | 22.7 µs | 1.00× | 68.2 KiB | - | - | - | 2 | - | 42.1 | cold first run 2.80 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/Sintel.2010.1080p.mkv | ExifTool | 77.54 ms | 77.54 ms – 77.54 ms | 21.3 |  |
| blender/Sintel.2010.1080p.mkv | MediaInfo | 146.78 ms | 146.78 ms – 146.78 ms | 12.3 |  |
| blender/Sintel.2010.1080p.mkv | ffprobe -show_format -show_streams | 38.55 ms | 38.55 ms – 38.55 ms | 21.1 |  |
| blender/Sintel.2010.1080p.mkv | mkvinfo | 52.14 ms | 52.14 ms – 52.14 ms | 14.7 |  |
| blender/Sintel.2010.1080p.mkv | mkvmerge -J | 56.28 ms | 56.28 ms – 56.28 ms | 20.1 |  |
| blender/tears_of_steel_1080p.webm | ExifTool | 75.00 ms | 74.09 ms – 75.33 ms | 21.3 |  |
| blender/tears_of_steel_1080p.webm | MediaInfo | 59.60 ms | 59.21 ms – 64.00 ms | 11.6 |  |
| blender/tears_of_steel_1080p.webm | ffprobe -show_format -show_streams | 36.59 ms | 35.29 ms – 37.93 ms | 14.5 |  |
| blender/tears_of_steel_1080p.webm | mkvinfo | 52.11 ms | 51.97 ms – 52.72 ms | 14.5 |  |
| blender/tears_of_steel_1080p.webm | mkvmerge -J | 54.52 ms | 54.19 ms – 55.07 ms | 19.0 |  |
| generated/mkv/h264-aac.mkv | ExifTool | 75.54 ms | 75.27 ms – 81.69 ms | 21.3 |  |
| generated/mkv/h264-aac.mkv | MediaInfo | 30.77 ms | 29.42 ms – 44.32 ms | 10.5 |  |
| generated/mkv/h264-aac.mkv | ffprobe -show_format -show_streams | 36.28 ms | 34.96 ms – 79.70 ms | 18.9 |  |
| generated/mkv/h264-aac.mkv | mkvinfo | 52.01 ms | 51.95 ms – 59.02 ms | 14.6 |  |
| generated/mkv/h264-aac.mkv | mkvmerge -J | 53.08 ms | 52.78 ms – 72.64 ms | 16.7 |  |
| matroska-test-files/test1.mkv | ExifTool | 74.54 ms | 73.87 ms – 74.92 ms | 21.3 |  |
| matroska-test-files/test1.mkv | MediaInfo | 30.98 ms | 30.48 ms – 52.40 ms | 10.8 |  |
| matroska-test-files/test1.mkv | ffprobe -show_format -show_streams | 35.89 ms | 35.64 ms – 38.58 ms | 15.3 |  |
| matroska-test-files/test1.mkv | mkvinfo | 52.18 ms | 51.93 ms – 52.47 ms | 14.8 |  |
| matroska-test-files/test1.mkv | mkvmerge -J | 54.71 ms | 53.76 ms – 54.75 ms | 20.1 |  |
| matroska-test-files/test5.mkv | ExifTool | 109.25 ms | 107.72 ms – 110.03 ms | 36.9 |  |
| matroska-test-files/test5.mkv | MediaInfo | 46.88 ms | 45.52 ms – 128.81 ms | 11.4 |  |
| matroska-test-files/test5.mkv | ffprobe -show_format -show_streams | 52.50 ms | 51.30 ms – 52.67 ms | 24.6 |  |
| matroska-test-files/test5.mkv | mkvinfo | 52.26 ms | 52.05 ms – 52.54 ms | 16.2 |  |
| matroska-test-files/test5.mkv | mkvmerge -J | 55.96 ms | 55.59 ms – 56.56 ms | 23.1 |  |

## mp4-mux: MP4: write the first AAC track's frames from memory to an MP4 in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 46.1 µs | 0.06× | 1.0 MiB | 5639.5 B | 189 | 0.0 | - | - | 42.2 | cold first run 39.28 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia, movie box last | 45.0 µs | 0.06× | 1.0 MiB | 5610.2 B | 189 | 0.0 | - | - | 42.2 | cold first run 50.77 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | SharpMP4 | 779.5 µs | 1.00× | 1.5 MiB | 8079.4 B | 189 | 0.0 | - | - | 42.3 | cold first run 45.16 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 660.2 µs | 0.06× | 3.0 MiB | 439.4 B | 7200 | 2.0 | - | - | 42.4 | cold first run 56.32 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia, movie box last | 665.4 µs | 0.06× | 3.0 MiB | 438.5 B | 7200 | 2.0 | - | - | 42.3 | cold first run 43.52 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | SharpMP4 | 11.63 ms | 1.00× | 17.5 MiB | 2550.9 B | 7200 | 2.0 | - | - | 42.2 | cold first run 73.82 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia | 21.28 ms | 0.18× | 63.0 MiB | 2363.3 B | 27960 | 31.2 | - | - | 42.2 | cold first run 108.77 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia, movie box last | 12.10 ms | 0.11× | 63.0 MiB | 2363.1 B | 27960 | 31.2 | - | - | 42.2 | cold first run 86.96 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | SharpMP4 | 115.24 ms | 1.00× | 103.7 MiB | 3889.9 B | 27960 | 31.3 | - | - | 42.4 | cold first run 277.28 ms |

## mp4-remux: MP4: read the first AAC track from a file and write it as an MP4 in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 185.4 µs | 0.07× | 1.1 MiB | 6376.7 B | 189 | 0.0 | - | - | 42.3 | cold first run 71.37 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | SharpMP4 | 2.63 ms | 1.00× | 2.6 MiB | 14687.2 B | 189 | 0.0 | - | - | 42.4 | cold first run 95.25 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 2.16 ms | 0.07× | 3.2 MiB | 465.0 B | 7200 | 2.0 | - | - | 42.2 | cold first run 73.88 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | SharpMP4 | 32.03 ms | 1.00× | 34.7 MiB | 5051.3 B | 7200 | 2.0 | - | - | 42.2 | cold first run 151.83 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | OneMedia | 27.09 ms | 0.17× | 63.2 MiB | 2368.3 B | 27960 | 31.2 | - | - | 42.3 | cold first run 131.18 ms |
| generated/bench/frag-bbb-1080p.mp4 | 691.5 MiB | SharpMP4 | 160.74 ms | 1.00× | 243.3 MiB | 9122.6 B | 27960 | 31.3 | - | - | 42.2 | cold first run 535.20 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/bench/frag-bbb-1080p.mp4 | ffmpeg -c copy -map 0:a:0 -f mp4 | 100.29 ms | 99.64 ms – 101.53 ms | 88.1 |  |
| generated/mp4/h264-aac.mp4 | ffmpeg -c copy -map 0:a:0 -f mp4 | 34.14 ms | 33.98 ms – 43.07 ms | 19.0 |  |
| samples/MPEG-4/video.mp4 | ffmpeg -c copy -map 0:a:0 -f mp4 | 57.38 ms | 55.93 ms – 64.54 ms | 20.4 |  |

## tagw-id3: MP3: change title, artist, album and comment; the edited file in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | OneMedia | 6.9 µs | 0.31× | 77.7 KiB | 79536.0 B | 1 | - | - | - | 42.2 | cold first run 26.47 ms |
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | ATL.NET | 192.4 µs | 8.74× | 938.2 KiB | 960749.4 B | 1 | - | - | - | 42.1 | cold first run 48.78 ms |
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | TagLib# | 22.0 µs | 1.00× | 140.5 KiB | 143835.9 B | 1 | - | - | - | 42.2 | fastest comparator; cold first run 18.18 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | OneMedia | 7.3 µs | 0.35× | 79.2 KiB | 81136.0 B | 1 | - | - | - | 42.1 | cold first run 26.50 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | ATL.NET | 186.1 µs | 8.92× | 1.0 MiB | 1073624.9 B | 1 | - | - | - | 42.2 | cold first run 51.57 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | TagLib# | 20.9 µs | 1.00× | 137.9 KiB | 141202.0 B | 1 | - | - | - | 42.2 | fastest comparator; cold first run 15.16 ms |
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | OneMedia | 7.6 µs | 0.28× | 80.1 KiB | 82064.0 B | 1 | - | - | - | 42.1 | cold first run 26.65 ms |
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | ATL.NET | 193.7 µs | 7.10× | 937.5 KiB | 959957.1 B | 1 | - | - | - | 42.2 | cold first run 48.49 ms |
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | TagLib# | 27.3 µs | 1.00× | 138.2 KiB | 141554.0 B | 1 | - | - | - | 42.0 | fastest comparator; cold first run 18.89 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | OneMedia | 4.4 µs | 0.27× | 67.5 KiB | 69144.0 B | 1 | - | - | - | 42.1 | cold first run 26.20 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | ATL.NET | 248.9 µs | 15.18× | 1.0 MiB | 1083814.4 B | 1 | - | - | - | 42.2 | cold first run 48.17 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | TagLib# | 16.4 µs | 1.00× | 116.8 KiB | 119629.9 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 18.64 ms |

## tagw-flac: FLAC: change title, artist, album and comment; the edited file in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | OneMedia | 3.8 µs | 0.31× | 70.3 KiB | 71944.0 B | 1 | - | - | - | 42.1 | cold first run 19.84 ms |
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | ATL.NET | 153.0 µs | 12.82× | 783.9 KiB | 802696.6 B | 1 | - | - | - | 42.1 | cold first run 40.66 ms |
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | TagLib# | 11.9 µs | 1.00× | 144.1 KiB | 147561.8 B | 1 | - | - | - | 42.2 | fastest comparator; cold first run 8.71 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | OneMedia | 4.2 µs | 0.32× | 72.9 KiB | 74664.0 B | 1 | - | - | - | 42.2 | cold first run 19.74 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | ATL.NET | 155.7 µs | 11.90× | 814.6 KiB | 834177.4 B | 1 | - | - | - | 42.1 | cold first run 40.85 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | TagLib# | 13.1 µs | 1.00× | 150.9 KiB | 154537.8 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 8.72 ms |

## tagw-ilst: MP4/M4A: change title, artist, album and comment in `ilst`; the edited file in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac-tags.mp4 | 0.2 MiB | OneMedia | 28.9 µs | 0.32× | 366.3 KiB | 375056.0 B | 1 | - | - | - | 42.0 | cold first run 22.75 ms |
| generated/mp4/h264-aac-tags.mp4 | 0.2 MiB | ATL.NET | 1.70 ms | 18.61× | 1.9 MiB | 2027396.9 B | 1 | - | - | - | 42.1 | cold first run 53.83 ms |
| generated/mp4/h264-aac-tags.mp4 | 0.2 MiB | TagLib# | 91.5 µs | 1.00× | 413.9 KiB | 423820.2 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 11.40 ms |
| generated/editlist/audio-aac-priming.m4a | 0.0 MiB | OneMedia | 6.6 µs | 0.37× | 137.8 KiB | 141088.0 B | 1 | - | - | - | 42.1 | cold first run 21.97 ms |
| generated/editlist/audio-aac-priming.m4a | 0.0 MiB | ATL.NET | 263.2 µs | 14.49× | 1.1 MiB | 1102529.7 B | 1 | - | - | - | 42.1 | cold first run 53.87 ms |
| generated/editlist/audio-aac-priming.m4a | 0.0 MiB | TagLib# | 18.2 µs | 1.00× | 142.3 KiB | 145737.8 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 11.59 ms |

## tagw-riff: WAV: change `LIST INFO` title, artist, album and comment; the edited file in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | OneMedia | 49.8 µs | 0.37× | 533.1 KiB | 545856.0 B | 1 | - | - | - | 42.1 | cold first run 20.02 ms |
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | ATL.NET | 193.6 µs | 1.43× | 1.1 MiB | 1181619.4 B | 1 | - | - | - | 42.2 | cold first run 41.42 ms |
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | TagLib# | 135.3 µs | 1.00× | 582.8 KiB | 596757.3 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 16.48 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | OneMedia | 57.8 µs | 0.38× | 863.0 KiB | 883743.8 B | 1 | - | - | - | 42.1 | cold first run 20.55 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | ATL.NET | 541.2 µs | 3.56× | 1.8 MiB | 1903091.6 B | 1 | - | - | - | 42.2 | cold first run 43.83 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | TagLib# | 152.1 µs | 1.00× | 911.1 KiB | 932924.2 B | 1 | - | - | - | 42.1 | fastest comparator; cold first run 16.64 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | OneMedia | 49.8 µs | 0.37× | 533.1 KiB | 545856.0 B | 1 | - | - | - | 42.2 | cold first run 20.17 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | ATL.NET | 199.6 µs | 1.48× | 1.1 MiB | 1181618.7 B | 1 | - | - | - | 42.1 | cold first run 41.44 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | TagLib# | 134.9 µs | 1.00× | 582.8 KiB | 596768.2 B | 1 | - | - | - | 42.2 | fastest comparator; cold first run 16.54 ms |

## tagw-mkv: Matroska: change title, artist, album and comment; the edited file in memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-two-audio-tags.mkv | 0.3 MiB | OneMedia | 42.4 µs | 0.76× | 306.9 KiB | 314232.0 B | 1 | - | - | - | 42.0 | cold first run 39.40 ms |
| generated/mkv/h264-two-audio-tags.mkv | 0.3 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.1 | NullReferenceException: Object reference not set to an instance of an object. |
| generated/mkv/h264-two-audio-tags.mkv | 0.3 MiB | TagLib# | 56.0 µs | 1.00× | 323.1 KiB | 330838.0 B | 1 | - | - | - | 42.1 | cold first run 9.67 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia | 2.14 ms | - | 22.3 MiB | 23393024.0 B | 1 | - | - | - | 42.1 | cold first run 45.75 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.1 | NullReferenceException: Object reference not set to an instance of an object. |
| matroska-test-files/test1.mkv | 22.3 MiB | TagLib# | fail | - | - | - | - | - | - | - | 42.1 | InvalidOperationException: Invalid EBML format Read |

## playable: MakePlayable (generic MP4): Matroska H.264+AAC to MP4; information

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia | 12.19 ms | - | 1.8 MiB | 1840856.0 B | 1 | 0.2 | - | - | 42.1 | cold first run 139.72 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | ffmpeg -c copy -f mp4 | 27.33 ms | 27.02 ms – 27.83 ms | 18.1 |  |

## mkv-mux: Matroska/WebM: read every packet and write it to a new Matroska file (no managed Matroska writer to compare with)

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia | 214.3 µs | - | 1.3 MiB | 4342.4 B | 309 | 0.2 | - | - | 42.2 | cold first run 47.34 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia | 4.26 ms | - | 9.2 MiB | 1674.4 B | 5735 | 22.2 | - | - | 42.2 | cold first run 50.19 ms |
| matroska-test-files/test5.mkv | 30.3 MiB | OneMedia | 4.66 ms | - | 5.1 MiB | 1232.4 B | 4298 | 30.3 | - | - | 42.2 | cold first run 51.04 ms |
| blender/Sintel.2010.1080p.mkv | 1.10 GiB | OneMedia | 141.69 ms | - | 33.2 MiB | 705.4 B | 49323 | 1125.2 | - | - | 42.3 | cold first run 282.31 ms |
| blender/tears_of_steel_1080p.webm | 544.9 MiB | OneMedia | 76.02 ms | - | 33.4 MiB | 437.3 B | 80000 | 544.6 | - | - | 42.1 | cold first run 201.70 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/Sintel.2010.1080p.mkv | ffmpeg -c copy -f matroska | 1.40 s | 1.40 s – 1.40 s | 107.3 |  |
| blender/Sintel.2010.1080p.mkv | mkvmerge | 338.07 ms | 338.07 ms – 338.07 ms | 95.2 | exit 1 |
| blender/tears_of_steel_1080p.webm | ffmpeg -c copy -f matroska | 213.15 ms | 212.91 ms – 219.89 ms | 29.6 |  |
| blender/tears_of_steel_1080p.webm | mkvmerge | 227.89 ms | 226.94 ms – 228.59 ms | 60.0 | exit 1 |
| generated/mkv/h264-aac.mkv | ffmpeg -c copy -f matroska | 27.15 ms | 26.71 ms – 28.27 ms | 18.0 |  |
| generated/mkv/h264-aac.mkv | mkvmerge | 46.00 ms | 45.28 ms – 50.26 ms | 17.6 | exit 1 |
| matroska-test-files/test1.mkv | ffmpeg -c copy -f matroska | 58.63 ms | 58.57 ms – 60.51 ms | 18.7 |  |
| matroska-test-files/test1.mkv | mkvmerge | 59.93 ms | 59.52 ms – 60.13 ms | 55.7 | exit 1 |
| matroska-test-files/test5.mkv | ffmpeg -c copy -f matroska | 82.78 ms | 81.16 ms – 82.87 ms | 35.9 |  |
| matroska-test-files/test5.mkv | mkvmerge | 61.91 ms | 61.62 ms – 62.60 ms | 70.8 | exit 1 |

## mp3-tags: MP3: open and read the common tags

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | OneMedia | 30.6 µs | 0.49× | 35.5 KiB | - | - | - | - | - | 42.3 | cold first run 29.72 ms |
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | ATL.NET | 69.8 µs | 1.13× | 285.6 KiB | - | - | - | - | - | 42.2 | cold first run 33.69 ms |
| generated/audio-es/tagged/id3v22-basic.mp3 | 0.0 MiB | TagLib# | 61.9 µs | 1.00× | 34.1 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 16.73 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | OneMedia | 35.9 µs | 0.73× | 42.5 KiB | - | - | - | - | - | 42.1 | cold first run 31.03 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | ATL.NET | 94.6 µs | 1.93× | 296.1 KiB | - | - | - | - | - | 42.2 | cold first run 37.00 ms |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | 0.0 MiB | TagLib# | 48.9 µs | 1.00× | 33.0 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 13.80 ms |
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | OneMedia | 29.7 µs | 0.53× | 36.0 KiB | - | - | - | - | - | 42.2 | cold first run 29.86 ms |
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | ATL.NET | 67.6 µs | 1.20× | 285.5 KiB | - | - | - | - | - | 42.1 | cold first run 33.45 ms |
| generated/audio-es/tagged/id3v24-basic.mp3 | 0.0 MiB | TagLib# | 56.5 µs | 1.00× | 37.9 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 15.95 ms |
| generated/audio-es/tagged/id3v24-chapters.mp3 | 0.0 MiB | OneMedia | 23.8 µs | 0.57× | 25.8 KiB | - | - | - | - | - | 42.1 | cold first run 28.74 ms |
| generated/audio-es/tagged/id3v24-chapters.mp3 | 0.0 MiB | ATL.NET | 45.4 µs | 1.09× | 274.2 KiB | - | - | - | - | - | 42.3 | cold first run 30.37 ms |
| generated/audio-es/tagged/id3v24-chapters.mp3 | 0.0 MiB | TagLib# | 41.7 µs | 1.00× | 26.3 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 14.19 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | OneMedia | 29.1 µs | 0.52× | 32.1 KiB | - | - | - | - | - | 42.1 | cold first run 27.93 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | ATL.NET | 87.0 µs | 1.56× | 348.1 KiB | - | - | - | - | - | 42.2 | cold first run 35.25 ms |
| generated/audio-es/tagged/apev2-only.mp3 | 0.0 MiB | TagLib# | 55.8 µs | 1.00× | 30.6 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 15.10 ms |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | 0.0 MiB | OneMedia | 42.8 µs | 0.64× | 52.2 KiB | - | - | - | - | - | 42.2 | cold first run 31.98 ms |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | 0.0 MiB | ATL.NET | 123.6 µs | 1.86× | 308.9 KiB | - | - | - | - | - | 42.2 | cold first run 39.61 ms |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | 0.0 MiB | TagLib# | 66.5 µs | 1.00× | 46.9 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 15.91 ms |
| generated/audio-es/mp3/long-60s.mp3 | 0.9 MiB | OneMedia | 20.9 µs | 0.87× | 20.5 KiB | - | - | - | - | - | 42.3 | cold first run 25.59 ms |
| generated/audio-es/mp3/long-60s.mp3 | 0.9 MiB | ATL.NET | 43.9 µs | 1.84× | 334.6 KiB | - | - | - | - | - | 42.2 | cold first run 28.76 ms |
| generated/audio-es/mp3/long-60s.mp3 | 0.9 MiB | TagLib# | 23.9 µs | 1.00× | 14.7 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 11.93 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/audio-es/mp3/long-60s.mp3 | ExifTool | 72.04 ms | 71.52 ms – 73.01 ms | 21.5 |  |
| generated/audio-es/mp3/long-60s.mp3 | MediaInfo | 21.95 ms | 21.74 ms – 22.28 ms | 9.3 |  |
| generated/audio-es/mp3/long-60s.mp3 | ffprobe -show_format -show_streams | 31.90 ms | 30.37 ms – 35.40 ms | 13.6 |  |
| generated/audio-es/tagged/apev2-only.mp3 | ExifTool | 72.52 ms | 72.28 ms – 72.68 ms | 21.5 |  |
| generated/audio-es/tagged/apev2-only.mp3 | MediaInfo | 24.31 ms | 23.86 ms – 24.46 ms | 13.9 |  |
| generated/audio-es/tagged/apev2-only.mp3 | ffprobe -show_format -show_streams | 31.94 ms | 31.18 ms – 32.13 ms | 13.4 |  |
| generated/audio-es/tagged/id3v22-basic.mp3 | ExifTool | 73.78 ms | 72.83 ms – 74.53 ms | 21.6 |  |
| generated/audio-es/tagged/id3v22-basic.mp3 | MediaInfo | 24.90 ms | 23.42 ms – 41.80 ms | 13.8 |  |
| generated/audio-es/tagged/id3v22-basic.mp3 | ffprobe -show_format -show_streams | 34.74 ms | 33.90 ms – 73.71 ms | 13.8 |  |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | ExifTool | 73.28 ms | 71.63 ms – 75.33 ms | 21.6 |  |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | MediaInfo | 21.71 ms | 21.26 ms – 22.05 ms | 9.3 |  |
| generated/audio-es/tagged/id3v23-and-v1.mp3 | ffprobe -show_format -show_streams | 34.12 ms | 34.07 ms – 34.90 ms | 13.4 |  |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | ExifTool | 80.31 ms | 79.43 ms – 80.37 ms | 24.3 |  |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | MediaInfo | 23.11 ms | 23.10 ms – 24.16 ms | 14.0 |  |
| generated/audio-es/tagged/id3v24-apev2-v1.mp3 | ffprobe -show_format -show_streams | 34.15 ms | 33.90 ms – 34.92 ms | 13.4 |  |
| generated/audio-es/tagged/id3v24-basic.mp3 | ExifTool | 80.24 ms | 79.66 ms – 81.64 ms | 24.2 |  |
| generated/audio-es/tagged/id3v24-basic.mp3 | MediaInfo | 23.14 ms | 22.46 ms – 23.61 ms | 13.9 |  |
| generated/audio-es/tagged/id3v24-basic.mp3 | ffprobe -show_format -show_streams | 34.19 ms | 33.26 ms – 38.87 ms | 13.9 |  |
| generated/audio-es/tagged/id3v24-chapters.mp3 | ExifTool | 71.81 ms | 71.37 ms – 72.80 ms | 21.3 |  |
| generated/audio-es/tagged/id3v24-chapters.mp3 | MediaInfo | 21.27 ms | 21.22 ms – 21.91 ms | 9.3 |  |
| generated/audio-es/tagged/id3v24-chapters.mp3 | ffprobe -show_format -show_streams | 34.30 ms | 34.28 ms – 35.43 ms | 13.4 |  |

## xiph-tags: FLAC/Ogg: open, tags, duration

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | OneMedia | 20.7 µs | 0.77× | 9.0 KiB | - | - | - | - | - | 42.2 | cold first run 24.42 ms |
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | ATL.NET | 46.0 µs | 1.72× | 89.3 KiB | - | - | - | - | - | 42.2 | cold first run 26.71 ms |
| generated/xiph-flv/flac/tags.flac | 0.1 MiB | TagLib# | 26.7 µs | 1.00× | 19.9 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 7.72 ms |
| generated/xiph-flv/flac/cover.flac | 0.1 MiB | OneMedia | 25.0 µs | 0.79× | 18.0 KiB | - | - | - | - | - | 42.2 | cold first run 25.12 ms |
| generated/xiph-flv/flac/cover.flac | 0.1 MiB | ATL.NET | 47.6 µs | 1.50× | 90.1 KiB | - | - | - | - | - | 42.2 | cold first run 27.43 ms |
| generated/xiph-flv/flac/cover.flac | 0.1 MiB | TagLib# | 31.7 µs | 1.00× | 72.8 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 8.86 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | OneMedia | 22.5 µs | 0.78× | 9.4 KiB | - | - | - | - | - | 42.2 | cold first run 23.60 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | ATL.NET | 54.5 µs | 1.89× | 98.8 KiB | - | - | - | - | - | 42.2 | cold first run 28.13 ms |
| generated/xiph-flv/tagvar/flac-rich.flac | 0.1 MiB | TagLib# | 28.8 µs | 1.00× | 23.4 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 7.91 ms |
| generated/xiph-flv/ogg/vorbis-tags.ogg | 0.0 MiB | OneMedia | 28.9 µs | 0.65× | 22.2 KiB | - | - | - | - | - | 42.2 | cold first run 26.13 ms |
| generated/xiph-flv/ogg/vorbis-tags.ogg | 0.0 MiB | ATL.NET | 52.4 µs | 1.17× | 168.4 KiB | - | - | - | - | - | 42.2 | cold first run 28.56 ms |
| generated/xiph-flv/ogg/vorbis-tags.ogg | 0.0 MiB | TagLib# | 44.7 µs | 1.00× | 33.9 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.36 ms |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | 0.0 MiB | OneMedia | 30.1 µs | 0.64× | 22.9 KiB | - | - | - | - | - | 42.2 | cold first run 25.55 ms |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | 0.0 MiB | ATL.NET | 61.8 µs | 1.31× | 178.0 KiB | - | - | - | - | - | 42.1 | cold first run 29.23 ms |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | 0.0 MiB | TagLib# | 47.1 µs | 1.00× | 37.5 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.61 ms |
| generated/xiph-flv/ogg/opus-tags.opus | 0.0 MiB | OneMedia | 20.3 µs | 0.59× | 12.2 KiB | - | - | - | - | - | 42.2 | cold first run 26.54 ms |
| generated/xiph-flv/ogg/opus-tags.opus | 0.0 MiB | ATL.NET | 69.8 µs | 2.04× | 162.0 KiB | - | - | - | - | - | 42.2 | cold first run 28.78 ms |
| generated/xiph-flv/ogg/opus-tags.opus | 0.0 MiB | TagLib# | 34.3 µs | 1.00× | 23.8 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.58 ms |
| generated/xiph-flv/tagvar/opus-unicode.opus | 0.0 MiB | OneMedia | 18.6 µs | 0.61× | 7.9 KiB | - | - | - | - | - | 42.3 | cold first run 25.08 ms |
| generated/xiph-flv/tagvar/opus-unicode.opus | 0.0 MiB | ATL.NET | 57.3 µs | 1.89× | 151.5 KiB | - | - | - | - | - | 42.3 | cold first run 27.87 ms |
| generated/xiph-flv/tagvar/opus-unicode.opus | 0.0 MiB | TagLib# | 30.4 µs | 1.00× | 16.9 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.59 ms |
| blender/big_buck_bunny_480p_stereo.ogg | 159.1 MiB | OneMedia | 41.0 µs | 1.13× | 26.2 KiB | - | - | - | - | - | 42.2 | cold first run 25.30 ms |
| blender/big_buck_bunny_480p_stereo.ogg | 159.1 MiB | ATL.NET | 54.6 µs | 1.51× | 157.5 KiB | - | - | - | - | - | 42.1 | cold first run 26.25 ms |
| blender/big_buck_bunny_480p_stereo.ogg | 159.1 MiB | TagLib# | 36.2 µs | 1.00× | 33.5 KiB | - | - | - | - | - | 42.3 | fastest comparator; cold first run 8.51 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/big_buck_bunny_480p_stereo.ogg | ExifTool | 72.84 ms | 72.23 ms – 72.93 ms | 21.4 |  |
| blender/big_buck_bunny_480p_stereo.ogg | MediaInfo | 23.39 ms | 22.96 ms – 23.53 ms | 9.8 |  |
| blender/big_buck_bunny_480p_stereo.ogg | ffprobe -show_format -show_streams | 31.92 ms | 31.72 ms – 37.69 ms | 17.4 |  |
| generated/xiph-flv/flac/cover.flac | ExifTool | 71.60 ms | 71.32 ms – 73.53 ms | 21.4 |  |
| generated/xiph-flv/flac/cover.flac | MediaInfo | 23.18 ms | 22.97 ms – 24.77 ms | 13.9 |  |
| generated/xiph-flv/flac/cover.flac | ffprobe -show_format -show_streams | 31.67 ms | 31.39 ms – 33.64 ms | 13.5 |  |
| generated/xiph-flv/flac/tags.flac | ExifTool | 72.01 ms | 71.40 ms – 72.52 ms | 21.2 |  |
| generated/xiph-flv/flac/tags.flac | MediaInfo | 22.26 ms | 21.78 ms – 22.26 ms | 9.5 |  |
| generated/xiph-flv/flac/tags.flac | ffprobe -show_format -show_streams | 31.45 ms | 31.26 ms – 33.74 ms | 13.1 |  |
| generated/xiph-flv/ogg/opus-tags.opus | ExifTool | 70.86 ms | 70.86 ms – 71.07 ms | 21.2 |  |
| generated/xiph-flv/ogg/opus-tags.opus | MediaInfo | 22.84 ms | 21.70 ms – 22.93 ms | 9.4 |  |
| generated/xiph-flv/ogg/opus-tags.opus | ffprobe -show_format -show_streams | 31.08 ms | 30.94 ms – 33.49 ms | 13.8 |  |
| generated/xiph-flv/ogg/vorbis-tags.ogg | ExifTool | 71.58 ms | 71.47 ms – 72.66 ms | 21.4 |  |
| generated/xiph-flv/ogg/vorbis-tags.ogg | MediaInfo | 22.09 ms | 21.96 ms – 22.41 ms | 9.5 |  |
| generated/xiph-flv/ogg/vorbis-tags.ogg | ffprobe -show_format -show_streams | 31.63 ms | 31.60 ms – 35.64 ms | 14.5 |  |
| generated/xiph-flv/tagvar/flac-rich.flac | ExifTool | 71.50 ms | 70.55 ms – 72.23 ms | 21.4 |  |
| generated/xiph-flv/tagvar/flac-rich.flac | MediaInfo | 21.34 ms | 21.31 ms – 22.13 ms | 9.5 |  |
| generated/xiph-flv/tagvar/flac-rich.flac | ffprobe -show_format -show_streams | 31.80 ms | 31.11 ms – 32.23 ms | 12.9 |  |
| generated/xiph-flv/tagvar/opus-unicode.opus | ExifTool | 70.83 ms | 70.05 ms – 72.24 ms | 21.3 |  |
| generated/xiph-flv/tagvar/opus-unicode.opus | MediaInfo | 21.63 ms | 21.36 ms – 22.99 ms | 9.5 |  |
| generated/xiph-flv/tagvar/opus-unicode.opus | ffprobe -show_format -show_streams | 32.18 ms | 32.09 ms – 32.51 ms | 13.4 |  |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | ExifTool | 73.83 ms | 72.98 ms – 73.86 ms | 21.3 |  |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | MediaInfo | 22.08 ms | 21.96 ms – 22.45 ms | 9.5 |  |
| generated/xiph-flv/tagvar/vorbis-rich.ogg | ffprobe -show_format -show_streams | 31.77 ms | 31.60 ms – 32.24 ms | 13.7 |  |

## xiph-demux: Ogg/FLAC/FLV: read every packet

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/xiph-flv/flac/bs4096.flac | 0.5 MiB | OneMedia | 1.31 ms | - | 65.5 KiB | 1426.7 B | 47 | 0.5 | - | - | 42.1 | cold first run 19.05 ms |
| generated/xiph-flv/ogg/opus-stereo-64k.opus | 0.0 MiB | OneMedia | 136.6 µs | - | 21.5 KiB | 109.7 B | 201 | 0.0 | - | - | 42.2 | cold first run 17.76 ms |
| generated/xiph-flv/ogg/vorbis-stereo-q5.ogg | 0.0 MiB | OneMedia | 132.0 µs | - | 34.2 KiB | 201.1 B | 174 | 0.0 | - | - | 42.3 | cold first run 21.02 ms |
| generated/xiph-flv/ogg/theora-vorbis.ogv | 0.2 MiB | OneMedia | 776.0 µs | - | 42.1 KiB | 146.5 B | 294 | 0.2 | - | - | 42.2 | cold first run 22.45 ms |
| generated/xiph-flv/flv/h264-aac.flv | 0.2 MiB | OneMedia | 59.4 µs | - | 16.7 KiB | 58.0 B | 294 | 0.2 | - | - | 42.1 | cold first run 16.31 ms |
| generated/xiph-flv/flv/mp3-44k.flv | 0.1 MiB | OneMedia | 32.1 µs | - | 7.1 KiB | 46.8 B | 155 | 0.1 | - | - | 42.2 | cold first run 12.55 ms |
| blender/big_buck_bunny_480p_stereo.ogg | 159.1 MiB | OneMedia | 479.83 ms | - | 731.0 KiB | 14.9 B | 50290 | 157.5 | - | - | 42.2 | cold first run 584.85 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| blender/big_buck_bunny_480p_stereo.ogg | ffmpeg -c copy -f null | 299.55 ms | 284.01 ms – 302.44 ms | 20.7 |  |
| generated/xiph-flv/flac/bs4096.flac | ffmpeg -c copy -f null | 33.01 ms | 32.14 ms – 34.28 ms | 13.6 |  |
| generated/xiph-flv/flv/h264-aac.flv | ffmpeg -c copy -f null | 34.11 ms | 33.67 ms – 34.58 ms | 20.1 |  |
| generated/xiph-flv/flv/mp3-44k.flv | ffmpeg -c copy -f null | 33.03 ms | 32.94 ms – 34.43 ms | 15.8 |  |
| generated/xiph-flv/ogg/opus-stereo-64k.opus | ffmpeg -c copy -f null | 32.42 ms | 31.81 ms – 35.42 ms | 13.9 |  |
| generated/xiph-flv/ogg/theora-vorbis.ogv | ffmpeg -c copy -f null | 33.85 ms | 32.65 ms – 34.68 ms | 16.0 |  |
| generated/xiph-flv/ogg/vorbis-stereo-q5.ogg | ffmpeg -c copy -f null | 32.29 ms | 31.97 ms – 33.14 ms | 14.2 |  |

## asf-tags: ASF/WMA/WMV: open and read the tags (title, artist, album, genre, pictures)

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/asf/wmv2-wmav2-tagged.wmv | 0.4 MiB | OneMedia | 28.5 µs | 0.83× | 75.3 KiB | - | - | - | - | - | 42.1 | cold first run 33.14 ms |
| generated/asf/wmv2-wmav2-tagged.wmv | 0.4 MiB | ATL.NET | 204.6 µs | 5.96× | 598.2 KiB | - | - | - | - | - | 42.1 | cold first run 31.92 ms |
| generated/asf/wmv2-wmav2-tagged.wmv | 0.4 MiB | TagLib# | 34.3 µs | 1.00× | 27.6 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.31 ms |
| generated/asf/wmav2-tagged.wma | 0.0 MiB | OneMedia | 28.7 µs | 0.72× | 66.2 KiB | - | - | - | - | - | 42.2 | cold first run 32.21 ms |
| generated/asf/wmav2-tagged.wma | 0.0 MiB | ATL.NET | 127.0 µs | 3.20× | 445.0 KiB | - | - | - | - | - | 42.1 | cold first run 29.35 ms |
| generated/asf/wmav2-tagged.wma | 0.0 MiB | TagLib# | 39.7 µs | 1.00× | 26.1 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 7.58 ms |
| generated/asf/wmav2-cover.wma | 0.1 MiB | OneMedia | 21.6 µs | 0.58× | 70.5 KiB | - | - | - | - | - | 42.1 | cold first run 32.43 ms |
| generated/asf/wmav2-cover.wma | 0.1 MiB | ATL.NET | 104.8 µs | 2.82× | 424.1 KiB | - | - | - | - | - | 42.2 | cold first run 30.55 ms |
| generated/asf/wmav2-cover.wma | 0.1 MiB | TagLib# | 37.1 µs | 1.00× | 20.3 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 7.74 ms |
| generated/asf/mp3-tagged-unicode.wma | 0.1 MiB | OneMedia | 22.0 µs | 0.62× | 61.6 KiB | - | - | - | - | - | 42.2 | cold first run 31.32 ms |
| generated/asf/mp3-tagged-unicode.wma | 0.1 MiB | ATL.NET | 106.9 µs | 3.03× | 424.9 KiB | - | - | - | - | - | 42.2 | cold first run 28.59 ms |
| generated/asf/mp3-tagged-unicode.wma | 0.1 MiB | TagLib# | 35.3 µs | 1.00× | 18.4 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 7.90 ms |
| samples/ASF/wma_with_WmPicture.wma | 2.3 MiB | OneMedia | 35.8 µs | 0.67× | 82.3 KiB | - | - | - | - | - | 42.2 | cold first run 32.32 ms |
| samples/ASF/wma_with_WmPicture.wma | 2.3 MiB | ATL.NET | 315.6 µs | 5.92× | 713.1 KiB | - | - | - | - | - | 42.2 | cold first run 32.99 ms |
| samples/ASF/wma_with_WmPicture.wma | 2.3 MiB | TagLib# | 53.3 µs | 1.00× | 166.0 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.43 ms |
| samples/ASF/wma_with_ID3_APIC.wma | 2.2 MiB | OneMedia | 40.0 µs | 0.94× | 129.1 KiB | - | - | - | - | - | 42.2 | cold first run 38.02 ms |
| samples/ASF/wma_with_ID3_APIC.wma | 2.2 MiB | ATL.NET | 291.8 µs | 6.85× | 813.3 KiB | - | - | - | - | - | 42.0 | cold first run 30.45 ms |
| samples/ASF/wma_with_ID3_APIC.wma | 2.2 MiB | TagLib# | 42.6 µs | 1.00× | 73.3 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 8.01 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/asf/mp3-tagged-unicode.wma | ExifTool | 103.83 ms | 103.68 ms – 103.90 ms | 37.2 |  |
| generated/asf/mp3-tagged-unicode.wma | MediaInfo | 21.97 ms | 21.92 ms – 22.23 ms | 9.5 |  |
| generated/asf/mp3-tagged-unicode.wma | ffprobe -show_format -show_streams | 31.44 ms | 30.62 ms – 35.57 ms | 13.6 |  |
| generated/asf/wmav2-cover.wma | ExifTool | 105.00 ms | 104.66 ms – 105.63 ms | 37.4 |  |
| generated/asf/wmav2-cover.wma | MediaInfo | 26.02 ms | 25.03 ms – 26.08 ms | 10.8 |  |
| generated/asf/wmav2-cover.wma | ffprobe -show_format -show_streams | 31.41 ms | 31.00 ms – 32.34 ms | 14.5 |  |
| generated/asf/wmav2-tagged.wma | ExifTool | 103.80 ms | 103.08 ms – 105.02 ms | 37.2 |  |
| generated/asf/wmav2-tagged.wma | MediaInfo | 21.78 ms | 21.10 ms – 22.98 ms | 9.4 |  |
| generated/asf/wmav2-tagged.wma | ffprobe -show_format -show_streams | 31.19 ms | 31.19 ms – 35.73 ms | 13.8 |  |
| generated/asf/wmv2-wmav2-tagged.wmv | ExifTool | 105.17 ms | 104.95 ms – 108.63 ms | 37.3 |  |
| generated/asf/wmv2-wmav2-tagged.wmv | MediaInfo | 25.81 ms | 25.51 ms – 26.52 ms | 10.9 |  |
| generated/asf/wmv2-wmav2-tagged.wmv | ffprobe -show_format -show_streams | 32.31 ms | 31.47 ms – 37.56 ms | 15.5 |  |
| samples/ASF/wma_with_ID3_APIC.wma | ExifTool | 104.75 ms | 104.16 ms – 106.95 ms | 37.4 |  |
| samples/ASF/wma_with_ID3_APIC.wma | MediaInfo | 21.48 ms | 21.41 ms – 22.67 ms | 9.4 |  |
| samples/ASF/wma_with_ID3_APIC.wma | ffprobe -show_format -show_streams | 32.06 ms | 31.92 ms – 32.51 ms | 14.0 |  |
| samples/ASF/wma_with_WmPicture.wma | ExifTool | 104.87 ms | 103.90 ms – 104.95 ms | 37.4 |  |
| samples/ASF/wma_with_WmPicture.wma | MediaInfo | 23.56 ms | 23.51 ms – 23.68 ms | 14.2 |  |
| samples/ASF/wma_with_WmPicture.wma | ffprobe -show_format -show_streams | 31.23 ms | 31.05 ms – 32.71 ms | 14.5 |  |

## pcm-tags: WAVE/AIFF/CAF: open, duration, tags

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | OneMedia | 25.2 µs | 0.67× | 9.7 KiB | - | - | - | - | - | 42.1 | cold first run 23.10 ms |
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | ATL.NET | 37.7 µs | 1.00× | 84.4 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 25.39 ms |
| generated/pcm/tagged-wav-info.wav | 0.5 MiB | TagLib# | 65.0 µs | 1.72× | 30.9 KiB | - | - | - | - | - | 42.2 | cold first run 15.23 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | OneMedia | 28.8 µs | 0.47× | 13.7 KiB | - | - | - | - | - | 42.2 | cold first run 24.81 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | ATL.NET | 117.6 µs | 1.94× | 148.9 KiB | - | - | - | - | - | 42.4 | cold first run 27.69 ms |
| generated/pcm/tagged-wav-bext.wav | 0.8 MiB | TagLib# | 60.7 µs | 1.00× | 31.2 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 14.03 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | OneMedia | 25.6 µs | 0.59× | 9.7 KiB | - | - | - | - | - | 42.2 | cold first run 23.77 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | ATL.NET | 43.5 µs | 1.00× | 84.4 KiB | - | - | - | - | - | 42.3 | fastest comparator; cold first run 25.35 ms |
| generated/pcm/tagged-wav-id3.wav | 0.5 MiB | TagLib# | 57.3 µs | 1.32× | 30.9 KiB | - | - | - | - | - | 42.0 | cold first run 13.99 ms |
| generated/pcm/wav-pcm_s16le-mono44k.wav | 0.3 MiB | OneMedia | 15.6 µs | 0.88× | 3.6 KiB | - | - | - | - | - | 42.2 | cold first run 21.53 ms |
| generated/pcm/wav-pcm_s16le-mono44k.wav | 0.3 MiB | ATL.NET | 17.9 µs | 1.00× | 79.9 KiB | - | - | - | - | - | 42.3 | fastest comparator; cold first run 22.64 ms |
| generated/pcm/wav-pcm_s16le-mono44k.wav | 0.3 MiB | TagLib# | 47.1 µs | 2.64× | 26.2 KiB | - | - | - | - | - | 42.3 | cold first run 12.56 ms |
| generated/pcm/tagged-aiff.aiff | 0.5 MiB | OneMedia | 20.2 µs | 0.77× | 6.3 KiB | - | - | - | - | - | 42.1 | cold first run 21.82 ms |
| generated/pcm/tagged-aiff.aiff | 0.5 MiB | ATL.NET | 32.7 µs | 1.24× | 78.6 KiB | - | - | - | - | - | 42.1 | cold first run 24.61 ms |
| generated/pcm/tagged-aiff.aiff | 0.5 MiB | TagLib# | 26.3 µs | 1.00× | 9.4 KiB | - | - | - | - | - | 42.2 | fastest comparator; cold first run 6.17 ms |
| generated/pcm/tagged-aiff-id3.aiff | 0.5 MiB | OneMedia | 24.8 µs | 0.60× | 13.8 KiB | - | - | - | - | - | 42.1 | cold first run 27.28 ms |
| generated/pcm/tagged-aiff-id3.aiff | 0.5 MiB | ATL.NET | 66.3 µs | 1.60× | 224.0 KiB | - | - | - | - | - | 42.2 | cold first run 32.88 ms |
| generated/pcm/tagged-aiff-id3.aiff | 0.5 MiB | TagLib# | 41.4 µs | 1.00× | 17.8 KiB | - | - | - | - | - | 42.1 | fastest comparator; cold first run 9.03 ms |
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | 0.3 MiB | OneMedia | 16.4 µs | 0.84× | 3.6 KiB | - | - | - | - | - | 42.2 | cold first run 20.95 ms |
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | 0.3 MiB | ATL.NET | 27.3 µs | 1.40× | 75.5 KiB | - | - | - | - | - | 42.1 | cold first run 21.43 ms |
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | 0.3 MiB | TagLib# | 19.5 µs | 1.00× | 7.3 KiB | - | - | - | - | - | 42.3 | fastest comparator; cold first run 6.18 ms |
| generated/pcm/tagged-caf.caf | 0.5 MiB | OneMedia | 17.8 µs | 0.32× | 7.2 KiB | - | - | - | - | - | 42.2 | cold first run 21.93 ms |
| generated/pcm/tagged-caf.caf | 0.5 MiB | ATL.NET | 55.2 µs | 1.00× | 86.0 KiB | - | - | - | - | - | 42.2 | cold first run 26.45 ms |
| generated/pcm/tagged-caf.caf | 0.5 MiB | TagLib# | fail | - | - | - | - | - | - | - | 42.2 | UnsupportedFormatException: generated/pcm/tagged-caf.caf (taglib/caf) |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | ExifTool | 101.83 ms | 100.68 ms – 102.16 ms | 36.9 |  |
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | MediaInfo | 22.74 ms | 22.42 ms – 22.82 ms | 9.4 |  |
| generated/pcm/aiff-pcm_s16be-mono44k.aiff | ffprobe -show_format -show_streams | 30.67 ms | 30.54 ms – 32.24 ms | 13.0 |  |
| generated/pcm/tagged-aiff-id3.aiff | ExifTool | 109.73 ms | 108.30 ms – 110.41 ms | 38.1 |  |
| generated/pcm/tagged-aiff-id3.aiff | MediaInfo | 23.56 ms | 22.82 ms – 25.09 ms | 9.5 |  |
| generated/pcm/tagged-aiff-id3.aiff | ffprobe -show_format -show_streams | 30.47 ms | 30.21 ms – 32.06 ms | 13.0 |  |
| generated/pcm/tagged-aiff.aiff | ExifTool | 103.01 ms | 101.69 ms – 104.46 ms | 37.0 |  |
| generated/pcm/tagged-aiff.aiff | MediaInfo | 23.98 ms | 23.40 ms – 24.12 ms | 9.3 |  |
| generated/pcm/tagged-aiff.aiff | ffprobe -show_format -show_streams | 31.76 ms | 30.51 ms – 32.20 ms | 13.0 |  |
| generated/pcm/tagged-caf.caf | ExifTool | 76.93 ms | 76.62 ms – 77.58 ms | 22.7 | exit 1 |
| generated/pcm/tagged-caf.caf | MediaInfo | 21.61 ms | 21.17 ms – 21.85 ms | 9.2 |  |
| generated/pcm/tagged-caf.caf | ffprobe -show_format -show_streams | 31.72 ms | 30.64 ms – 32.30 ms | 13.0 |  |
| generated/pcm/tagged-wav-bext.wav | ExifTool | 71.31 ms | 71.19 ms – 71.44 ms | 21.4 |  |
| generated/pcm/tagged-wav-bext.wav | MediaInfo | 34.68 ms | 34.30 ms – 34.79 ms | 11.3 |  |
| generated/pcm/tagged-wav-bext.wav | ffprobe -show_format -show_streams | 31.65 ms | 30.98 ms – 31.99 ms | 13.7 |  |
| generated/pcm/tagged-wav-id3.wav | ExifTool | 72.93 ms | 70.32 ms – 73.41 ms | 21.4 |  |
| generated/pcm/tagged-wav-id3.wav | MediaInfo | 23.44 ms | 23.32 ms – 24.68 ms | 9.6 |  |
| generated/pcm/tagged-wav-id3.wav | ffprobe -show_format -show_streams | 49.43 ms | 49.32 ms – 50.24 ms | 13.9 |  |
| generated/pcm/tagged-wav-info.wav | ExifTool | 71.39 ms | 70.88 ms – 71.50 ms | 21.2 |  |
| generated/pcm/tagged-wav-info.wav | MediaInfo | 23.75 ms | 23.44 ms – 24.43 ms | 9.6 |  |
| generated/pcm/tagged-wav-info.wav | ffprobe -show_format -show_streams | 50.09 ms | 49.36 ms – 50.12 ms | 13.9 |  |
| generated/pcm/wav-pcm_s16le-mono44k.wav | ExifTool | 70.30 ms | 69.21 ms – 71.13 ms | 21.1 |  |
| generated/pcm/wav-pcm_s16le-mono44k.wav | MediaInfo | 23.36 ms | 23.18 ms – 23.63 ms | 9.5 |  |
| generated/pcm/wav-pcm_s16le-mono44k.wav | ffprobe -show_format -show_streams | 41.19 ms | 41.10 ms – 41.70 ms | 13.6 |  |

## avi-demux: AVI: read every packet of every stream

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | OneMedia | 55.6 µs | - | 22.9 KiB | 108.6 B | 216 | 0.4 | - | - | 42.2 | cold first run 23.94 ms |
| samples/avi/AV36_1.AVI | 9.3 MiB | OneMedia | 581.4 µs | - | 22.8 KiB | 23.6 B | 988 | 8.8 | - | - | 42.2 | cold first run 25.66 ms |
| samples/avi/GoneNutty.avi | 44.7 MiB | OneMedia | 3.98 ms | - | 22.4 KiB | 2.5 B | 9147 | 44.5 | - | - | 42.2 | cold first run 30.69 ms |
| samples/avi/DV-type1/dvformat2.avi | 180.0 MiB | OneMedia | 15.10 ms | - | 19.3 KiB | 6.6 B | 2984 | 179.9 | - | - | 42.2 | cold first run 39.99 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/avi/tagged-mpeg4-mp3.avi | ffmpeg -c copy -f null | 32.35 ms | 32.29 ms – 36.53 ms | 14.7 |  |
| samples/avi/AV36_1.AVI | ffmpeg -c copy -f null | 35.91 ms | 35.03 ms – 36.97 ms | 14.3 |  |
| samples/avi/DV-type1/dvformat2.avi | ffmpeg -c copy -f null | 56.94 ms | 56.81 ms – 58.17 ms | 14.8 |  |
| samples/avi/GoneNutty.avi | ffmpeg -c copy -f null | 65.15 ms | 64.28 ms – 66.04 ms | 16.8 |  |

## repair-index: Matroska/AVI/MP4: rebuild the index of a healthy file into memory

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mkv/h264-aac.mkv | 0.2 MiB | OneMedia | 110.2 µs | - | 1.1 MiB | 561425.8 B | 2 | 0.2 | - | - | 42.3 | cold first run 22.46 ms |
| matroska-test-files/test1.mkv | 22.3 MiB | OneMedia | 8.19 ms | - | 63.6 MiB | 33320792.0 B | 2 | 22.3 | - | - | 42.1 | cold first run 29.90 ms |
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | OneMedia | 246.6 µs | - | 1.0 MiB | 550282.0 B | 2 | 0.4 | - | - | 42.2 | cold first run 12.95 ms |
| samples/avi/GoneNutty.avi | 44.7 MiB | OneMedia | 23.14 ms | - | 129.3 MiB | 67800584.0 B | 2 | 44.7 | - | - | 42.1 | cold first run 42.71 ms |
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 103.1 µs | - | 1.1 MiB | 551751.3 B | 2 | 0.2 | - | - | 42.2 | cold first run 14.46 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 8.60 ms | - | 63.2 MiB | 11047368.0 B | 6 | 26.6 | - | - | 42.2 | cold first run 27.15 ms |

## package-hls: HLS: CMAF segments and playlists written to disk

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/mp4/h264-aac.mp4 | 0.2 MiB | OneMedia | 1.55 ms | - | 740.5 KiB | 379142.1 B | 2 | 0.2 | - | - | 42.2 | cold first run 72.82 ms |
| samples/MPEG-4/video.mp4 | 26.6 MiB | OneMedia | 15.46 ms | - | 4.1 MiB | 81713.2 B | 52 | 25.8 | - | - | 42.1 | cold first run 115.00 ms |

## avi-probe: AVI: open, track list, duration, tags

| File | Size | Implementation | Median | Ratio | Alloc / run | Alloc / packet | Packets | Payload MiB | Tracks or tags | Peak MiB | Baseline MiB | Note |
|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | OneMedia | 24.1 µs | 0.69× | 22.9 KiB | - | - | - | 2 | - | 42.2 | cold first run 18.64 ms |
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.3 | NullReferenceException: Object reference not set to an instance of an object. |
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | MetadataExtractor | 35.2 µs | 1.00× | 67.9 KiB | - | - | - | 11 | - | 42.3 | fastest comparator; cold first run 10.68 ms |
| generated/avi/tagged-mpeg4-mp3.avi | 0.4 MiB | TagLib# | 70.1 µs | 2.00× | 77.6 KiB | - | - | - | 2 | - | 42.3 | cold first run 15.21 ms |
| samples/avi/AV36_1.AVI | 9.3 MiB | OneMedia | 19.0 µs | 0.57× | 22.8 KiB | - | - | - | 2 | - | 42.2 | cold first run 18.68 ms |
| samples/avi/AV36_1.AVI | 9.3 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.2 | NullReferenceException: Object reference not set to an instance of an object. |
| samples/avi/AV36_1.AVI | 9.3 MiB | MetadataExtractor | 33.5 µs | 1.00× | 67.8 KiB | - | - | - | 11 | - | 42.2 | fastest comparator; cold first run 8.30 ms |
| samples/avi/AV36_1.AVI | 9.3 MiB | TagLib# | 58.9 µs | 1.76× | 40.6 KiB | - | - | - | 2 | - | 42.3 | cold first run 14.31 ms |
| samples/avi/GoneNutty.avi | 44.7 MiB | OneMedia | 18.0 µs | 0.54× | 22.4 KiB | - | - | - | 2 | - | 42.3 | cold first run 18.42 ms |
| samples/avi/GoneNutty.avi | 44.7 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.2 | NullReferenceException: Object reference not set to an instance of an object. |
| samples/avi/GoneNutty.avi | 44.7 MiB | MetadataExtractor | 33.4 µs | 1.00× | 67.8 KiB | - | - | - | 11 | - | 42.2 | fastest comparator; cold first run 8.24 ms |
| samples/avi/GoneNutty.avi | 44.7 MiB | TagLib# | 59.1 µs | 1.77× | 39.3 KiB | - | - | - | 2 | - | 42.2 | cold first run 13.92 ms |
| samples/avi/DV-type1/dvformat2.avi | 180.0 MiB | OneMedia | 19.1 µs | 0.51× | 19.1 KiB | - | - | - | 2 | - | 42.1 | cold first run 18.27 ms |
| samples/avi/DV-type1/dvformat2.avi | 180.0 MiB | ATL.NET | fail | - | - | - | - | - | - | - | 42.2 | NullReferenceException: Object reference not set to an instance of an object. |
| samples/avi/DV-type1/dvformat2.avi | 180.0 MiB | MetadataExtractor | 37.3 µs | 1.00× | 68.4 KiB | - | - | - | 11 | - | 42.1 | fastest comparator; cold first run 8.58 ms |
| samples/avi/DV-type1/dvformat2.avi | 180.0 MiB | TagLib# | 58.9 µs | 1.58× | 291.4 KiB | - | - | - | 2 | - | 42.1 | cold first run 14.28 ms |

Reference tools, run as processes (wall time including start-up, peak resident set); information only:

| File | Tool | Wall median | Wall min – max | Peak MiB | Note |
|---|---|---:|---:|---:|---|
| generated/avi/tagged-mpeg4-mp3.avi | ExifTool | 73.38 ms | 73.17 ms – 74.24 ms | 21.6 |  |
| generated/avi/tagged-mpeg4-mp3.avi | MediaInfo | 26.40 ms | 25.85 ms – 26.48 ms | 11.4 |  |
| generated/avi/tagged-mpeg4-mp3.avi | ffprobe -show_format -show_streams | 30.92 ms | 30.37 ms – 33.38 ms | 14.3 |  |
| samples/avi/AV36_1.AVI | ExifTool | 72.93 ms | 71.15 ms – 73.56 ms | 21.4 |  |
| samples/avi/AV36_1.AVI | MediaInfo | 23.70 ms | 23.64 ms – 24.21 ms | 10.2 |  |
| samples/avi/AV36_1.AVI | ffprobe -show_format -show_streams | 31.71 ms | 31.18 ms – 32.87 ms | 13.5 |  |
| samples/avi/DV-type1/dvformat2.avi | ExifTool | 73.14 ms | 73.11 ms – 73.49 ms | 21.4 |  |
| samples/avi/DV-type1/dvformat2.avi | MediaInfo | 38.18 ms | 37.72 ms – 38.63 ms | 11.9 |  |
| samples/avi/DV-type1/dvformat2.avi | ffprobe -show_format -show_streams | 35.39 ms | 34.46 ms – 38.28 ms | 14.4 |  |
| samples/avi/GoneNutty.avi | ExifTool | 73.14 ms | 72.73 ms – 73.51 ms | 21.5 |  |
| samples/avi/GoneNutty.avi | MediaInfo | 41.09 ms | 40.58 ms – 41.45 ms | 12.3 |  |
| samples/avi/GoneNutty.avi | ffprobe -show_format -show_streams | 32.51 ms | 31.94 ms – 33.48 ms | 15.2 |  |
