Method: bench.md. 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).
| 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), 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 |
| 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 | |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 | |
| 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 | |
| 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 | |
| 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 |
| 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 | |