Recursive AI

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

All onemedia docs

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.

Groupwq jobStartedContentsLoad averageElapsed
G1000549 (bench)2026-11-02 21:17Zdemux 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.962.1 min
G2000546 (bench)2026-11-02 21:06Zmux, 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.201.9 min
G3000547 (bench)2026-11-02 21:10Ztag 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.053.9 min
G4000548 (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-
G5000550 (bench)2026-11-02 22:28Ztag 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

RowFiles with a ratioGeomeanWorstVerdict
mp4-demux3/40.08×0.19×at the bar
mp4-audio2/40.51×0.56×at the bar
mp4-probe4/40.12×0.28×at the bar
mkv-demux5/50.25×0.33×at the bar
mkv-probe5/50.56×0.72×at the bar
mp4-mux3/30.09×0.18×at the bar
mp4-remux3/30.09×0.17×at the bar
tagw-id34/40.30×0.35×at the bar
tagw-flac2/20.32×0.32×at the bar
tagw-ilst2/20.34×0.37×at the bar
tagw-riff3/30.37×0.38×at the bar
tagw-mkv1/20.76×0.76×at the bar
playable0/1--no managed comparator, so the row passes (times are information)
mkv-mux0/5--no managed comparator, so the row passes (times are information)
mp3-tags7/70.61×0.87×at the bar
xiph-tags8/80.73×1.13×at the bar
xiph-demux0/7--no managed comparator, so the row passes (times are information)
asf-tags6/60.72×0.94×at the bar
pcm-tags8/80.61×0.88×at the bar
avi-demux0/4--no managed comparator, so the row passes (times are information)
repair-index0/6--no managed comparator, so the row passes (times are information)
package-hls0/2--no managed comparator, so the row passes (times are information)
avi-probe4/40.57×0.69×at the bar
subs-parse8/80.51×1.07×at the bar
subs-convert6/60.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)

CuesRowOneMedia median ms (min)KiB/runFastest managed comparatorIts median ms (min)KiB/runRatio
20000parse srt7.75 (4.95)10754SubtitleEdit core7.24 (5.48)135581.07×
20000parse vtt4.44 (4.40)11327SubtitleEdit core34.58 (28.57)355990.13×
20000parse ass10.57 (6.81)12372SubtitleEdit core11.89 (8.75)197800.89×
20000parse ttml49.37 (37.67)43599SubtitleEdit core94.82 (84.72)757720.52×
20000convert srt->vtt18.10 (8.49)20119SubtitleEdit core27.01 (21.98)363780.67×
20000convert srt->ass16.11 (14.75)22345SubtitleEdit core17.94 (14.17)238090.90×
20000convert srt->ttml19.61 (18.38)27530SubtitleEdit core121.40 (118.80)3009600.16×
100000parse srt68.45 (39.69)53812SubtitleEdit core63.95 (36.00)678911.07×
100000parse vtt35.42 (32.11)56580SubtitleEdit core192.10 (174.06)1775320.18×
100000parse ass77.84 (54.65)61387SubtitleEdit core80.92 (66.16)986780.96×
100000parse ttml200.71 (197.29)215980SubtitleEdit core571.28 (514.78)3775510.35×
100000convert srt->vtt63.20 (53.90)100586SubtitleEdit core184.01 (157.54)1819570.34×
100000convert srt->ass76.89 (58.71)108829SubtitleEdit core108.41 (71.32)1192810.71×
100000convert srt->ttml144.89 (99.74)137575SubtitleEdit core608.05 (569.29)15050740.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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia40.8 µs0.03×23.6 KiB78.3 B3090.2--42.1cold first run 21.35 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP41.39 ms1.00×1.4 MiB4633.4 B3090.2--42.2cold first run 55.72 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia2.58 ms0.08×57.7 KiB3.2 B1867126.5--42.2cold first run 28.17 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP431.27 ms1.00×42.6 MiB2390.8 B1867126.5--42.2cold first run 94.45 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia55.25 ms0.19×2.1 MiB52.7 B42276691.1--42.1cold first run 86.61 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBSharpMP4286.00 ms1.00×801.0 MiB19866.2 B42276691.1--42.1cold first run 816.66 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia56.99 ms-2.1 MiB51.7 B42276691.1--42.3cold first run 91.16 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP4fail-------42.1IndexOutOfRangeException: Index was outside the bounds of the array.

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

FileToolWall medianWall min – maxPeak MiBNote
blender/big_buck_bunny_1080p_h264.movffmpeg -c copy -f null184.28 ms184.27 ms – 206.66 ms66.7
generated/bench/frag-bbb-1080p.mp4ffmpeg -c copy -f null255.00 ms215.75 ms – 269.58 ms110.9
generated/mp4/h264-aac.mp4ffmpeg -c copy -f null35.42 ms35.00 ms – 39.02 ms18.1
samples/MPEG-4/video.mp4ffmpeg -c copy -f null61.50 ms60.95 ms – 62.14 ms17.4

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia33.9 µs0.47×23.6 KiB128.0 B1890.0--42.1cold first run 21.58 ms
generated/mp4/h264-aac.mp40.2 MiBOneAudio Mp4PacketSource72.9 µs1.00×71.6 KiB388.2 B1890.0--42.2cold first run 10.72 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia, length asked of the file each time45.0 µs0.62×23.7 KiB128.6 B1890.0--42.2cold first run 23.02 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia366.3 µs0.56×57.7 KiB8.2 B72001.9--42.2cold first run 22.15 ms
samples/MPEG-4/video.mp426.6 MiBOneAudio Mp4PacketSource654.8 µs1.00×97.6 KiB13.9 B72001.9--42.3cold first run 10.39 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia, length asked of the file each time370.5 µs0.57×57.8 KiB8.2 B72001.9--42.2cold first run 22.23 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia4.19 ms-62.5 KiB2.3 B2796031.1--42.2cold first run 32.17 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneAudio Mp4PacketSourcefail-------42.2UnsupportedAudioFormatException: Audio track 0 uses a QuickTime sound description version this library does not read.
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia, length asked of the file each time4.18 ms-62.6 KiB2.3 B2796031.1--42.3cold first run 32.53 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia4.69 ms-21.7 KiB0.8 B2796031.1--42.2cold first run 39.09 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneAudio Mp4PacketSourcefail-------42.2UnsupportedAudioFormatException: Fragmented MP4 files (mvex boxes) are not supported.
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia, length asked of the file each time4.91 ms-21.8 KiB0.8 B2796031.1--42.2cold first run 39.41 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia17.8 µs0.28×23.6 KiB---2-42.2cold first run 20.52 ms
generated/mp4/h264-aac.mp40.2 MiBATL.NET108.1 µs1.72×146.6 KiB---0-42.1cold first run 34.68 ms
generated/mp4/h264-aac.mp40.2 MiBMetadataExtractor81.1 µs1.29×77.7 KiB---48-42.2cold first run 11.42 ms
generated/mp4/h264-aac.mp40.2 MiBTagLib#62.9 µs1.00×36.7 KiB---2-42.2fastest comparator; cold first run 9.55 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia23.4 µs0.20×57.7 KiB---6-42.2cold first run 19.94 ms
samples/MPEG-4/video.mp426.6 MiBATL.NET408.1 µs3.42×151.7 KiB---0-42.2cold first run 38.92 ms
samples/MPEG-4/video.mp426.6 MiBMetadataExtractor154.6 µs1.30×91.8 KiB---96-42.2cold first run 10.44 ms
samples/MPEG-4/video.mp426.6 MiBTagLib#119.3 µs1.00×78.2 KiB---2-42.1fastest comparator; cold first run 10.31 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia40.6 µs0.28×62.4 KiB---3-42.2cold first run 20.70 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBATL.NET976.1 µs6.68×229.2 KiB---0-42.2cold first run 41.57 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBMetadataExtractor146.1 µs1.00×87.7 KiB---61-42.1fastest comparator; cold first run 11.92 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBTagLib#fail-------42.1UnsupportedFormatException: blender/big_buck_bunny_1080p_h264.mov (taglib/mov)
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia16.2 µs0.01×20.9 KiB---3-42.3cold first run 18.50 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBATL.NET5.18 ms4.05×483.7 KiB---0-42.3cold first run 51.04 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBMetadataExtractor4.57 ms3.57×183.6 KiB---60-42.1cold first run 15.41 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBTagLib#1.28 ms1.00×521.2 KiB---2-42.3fastest comparator; cold first run 11.20 ms

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

FileToolWall medianWall min – maxPeak MiBNote
blender/big_buck_bunny_1080p_h264.movExifTool89.05 ms88.47 ms – 89.95 ms27.0
blender/big_buck_bunny_1080p_h264.movMP4Box -info26.53 ms26.27 ms – 28.10 ms9.2
blender/big_buck_bunny_1080p_h264.movMediaInfo36.67 ms35.80 ms – 37.48 ms14.7
blender/big_buck_bunny_1080p_h264.movffprobe -show_format -show_streams37.58 ms37.01 ms – 37.66 ms26.2
generated/bench/frag-bbb-1080p.mp4ExifTool177.31 ms177.23 ms – 179.07 ms27.4
generated/bench/frag-bbb-1080p.mp4MP4Box -info28.50 ms28.44 ms – 29.46 ms11.6
generated/bench/frag-bbb-1080p.mp4MediaInfo51.07 ms50.87 ms – 51.52 ms14.5
generated/bench/frag-bbb-1080p.mp4ffprobe -show_format -show_streams63.59 ms63.34 ms – 63.93 ms40.1
generated/mp4/h264-aac.mp4ExifTool87.02 ms84.54 ms – 87.05 ms25.6
generated/mp4/h264-aac.mp4MP4Box -info26.23 ms25.88 ms – 32.68 ms8.6
generated/mp4/h264-aac.mp4MediaInfo27.60 ms27.08 ms – 29.42 ms11.0
generated/mp4/h264-aac.mp4ffprobe -show_format -show_streams34.27 ms33.45 ms – 42.62 ms17.9
samples/MPEG-4/video.mp4ExifTool120.02 ms120.01 ms – 121.07 ms40.0
samples/MPEG-4/video.mp4MP4Box -info26.15 ms25.79 ms – 27.32 ms8.6
samples/MPEG-4/video.mp4MediaInfo28.33 ms27.96 ms – 28.84 ms11.5
samples/MPEG-4/video.mp4ffprobe -show_format -show_streams34.69 ms34.25 ms – 35.46 ms16.5

mkv-demux: Matroska/WebM: read every packet

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia94.6 µs0.21×1.0 MiB3513.6 B3090.2--42.2cold first run 23.89 ms
generated/mkv/h264-aac.mkv0.2 MiBOneMedia, length asked of the file each time214.2 µs0.48×1.0 MiB3513.9 B3090.2--42.2cold first run 23.95 ms
generated/mkv/h264-aac.mkv0.2 MiBStefH Matroska444.0 µs1.00×672.2 KiB2227.5 B3090.2--42.3cold first run 16.31 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia2.29 ms0.21×1.0 MiB189.4 B573522.2--42.1cold first run 29.01 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia, length asked of the file each time3.22 ms0.29×1.0 MiB189.4 B573522.2--42.2cold first run 30.46 ms
matroska-test-files/test1.mkv22.3 MiBStefH Matroska11.04 ms1.00×46.0 MiB18698.1 B258222.2--42.2packet count differs from OneMedia's 5735; cold first run 26.67 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia2.75 ms0.21×1.0 MiB254.5 B429830.3--42.3cold first run 29.03 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia, length asked of the file each time3.35 ms0.25×1.0 MiB254.5 B429830.3--42.2cold first run 28.87 ms
matroska-test-files/test5.mkv30.3 MiBStefH Matroska13.22 ms1.00×61.6 MiB41197.3 B156830.3--42.2packet count differs from OneMedia's 4298; cold first run 27.72 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia139.51 ms0.33×1.0 MiB22.2 B493231125.2--42.2cold first run 151.33 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia, length asked of the file each time143.39 ms0.34×1.0 MiB22.2 B493231125.2--42.2cold first run 160.55 ms
blender/Sintel.2010.1080p.mkv1.10 GiBStefH Matroska416.85 ms1.00×2265.6 MiB93606.3 B253791125.2--42.1packet count differs from OneMedia's 49323; cold first run 551.35 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia51.95 ms0.30×1.0 MiB13.7 B80000544.6--42.2cold first run 103.85 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia, length asked of the file each time61.81 ms0.36×1.0 MiB13.7 B80000544.6--42.2cold first run 114.99 ms
blender/tears_of_steel_1080p.webm544.9 MiBStefH Matroska171.55 ms1.00×1097.5 MiB44895.2 B25634544.7--42.1packet 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:

FileToolWall medianWall min – maxPeak MiBNote
blender/Sintel.2010.1080p.mkvffmpeg -c copy -f null344.54 ms344.54 ms – 344.54 ms53.2
blender/Sintel.2010.1080p.mkvmkvextract tracks (first track)203.37 ms203.37 ms – 203.37 ms27.0
blender/tears_of_steel_1080p.webmffmpeg -c copy -f null199.84 ms192.85 ms – 201.54 ms19.3
blender/tears_of_steel_1080p.webmmkvextract tracks (first track)132.81 ms131.96 ms – 135.36 ms29.5
generated/mkv/h264-aac.mkvffmpeg -c copy -f null34.19 ms33.90 ms – 35.17 ms17.8
generated/mkv/h264-aac.mkvmkvextract tracks (first track)51.07 ms50.89 ms – 62.56 ms15.5
matroska-test-files/test1.mkvffmpeg -c copy -f null45.50 ms44.69 ms – 47.84 ms16.3
matroska-test-files/test1.mkvmkvextract tracks (first track)56.19 ms56.06 ms – 56.50 ms24.4
matroska-test-files/test5.mkvffmpeg -c copy -f null59.66 ms58.81 ms – 60.14 ms26.8
matroska-test-files/test5.mkvmkvextract tracks (first track)56.96 ms56.94 ms – 59.40 ms24.1

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia14.2 µs0.58×36.1 KiB---2-42.3cold first run 16.41 ms
generated/mkv/h264-aac.mkv0.2 MiBNEbml element reader24.3 µs1.00×68.7 KiB---2-42.2cold first run 3.10 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia13.7 µs0.62×36.6 KiB---2-42.1cold first run 17.18 ms
matroska-test-files/test1.mkv22.3 MiBNEbml element reader22.1 µs1.00×68.3 KiB---2-42.2cold first run 3.02 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia17.4 µs0.45×44.2 KiB---11-42.2cold first run 16.63 ms
matroska-test-files/test5.mkv30.3 MiBNEbml element reader38.3 µs1.00×72.8 KiB---11-42.2cold first run 3.40 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia18.0 µs0.48×44.9 KiB---12-42.2cold first run 15.82 ms
blender/Sintel.2010.1080p.mkv1.10 GiBNEbml element reader37.4 µs1.00×73.3 KiB---12-42.1cold first run 2.69 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia16.2 µs0.72×43.9 KiB---2-42.2cold first run 15.76 ms
blender/tears_of_steel_1080p.webm544.9 MiBNEbml element reader22.7 µs1.00×68.2 KiB---2-42.1cold first run 2.80 ms

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

FileToolWall medianWall min – maxPeak MiBNote
blender/Sintel.2010.1080p.mkvExifTool77.54 ms77.54 ms – 77.54 ms21.3
blender/Sintel.2010.1080p.mkvMediaInfo146.78 ms146.78 ms – 146.78 ms12.3
blender/Sintel.2010.1080p.mkvffprobe -show_format -show_streams38.55 ms38.55 ms – 38.55 ms21.1
blender/Sintel.2010.1080p.mkvmkvinfo52.14 ms52.14 ms – 52.14 ms14.7
blender/Sintel.2010.1080p.mkvmkvmerge -J56.28 ms56.28 ms – 56.28 ms20.1
blender/tears_of_steel_1080p.webmExifTool75.00 ms74.09 ms – 75.33 ms21.3
blender/tears_of_steel_1080p.webmMediaInfo59.60 ms59.21 ms – 64.00 ms11.6
blender/tears_of_steel_1080p.webmffprobe -show_format -show_streams36.59 ms35.29 ms – 37.93 ms14.5
blender/tears_of_steel_1080p.webmmkvinfo52.11 ms51.97 ms – 52.72 ms14.5
blender/tears_of_steel_1080p.webmmkvmerge -J54.52 ms54.19 ms – 55.07 ms19.0
generated/mkv/h264-aac.mkvExifTool75.54 ms75.27 ms – 81.69 ms21.3
generated/mkv/h264-aac.mkvMediaInfo30.77 ms29.42 ms – 44.32 ms10.5
generated/mkv/h264-aac.mkvffprobe -show_format -show_streams36.28 ms34.96 ms – 79.70 ms18.9
generated/mkv/h264-aac.mkvmkvinfo52.01 ms51.95 ms – 59.02 ms14.6
generated/mkv/h264-aac.mkvmkvmerge -J53.08 ms52.78 ms – 72.64 ms16.7
matroska-test-files/test1.mkvExifTool74.54 ms73.87 ms – 74.92 ms21.3
matroska-test-files/test1.mkvMediaInfo30.98 ms30.48 ms – 52.40 ms10.8
matroska-test-files/test1.mkvffprobe -show_format -show_streams35.89 ms35.64 ms – 38.58 ms15.3
matroska-test-files/test1.mkvmkvinfo52.18 ms51.93 ms – 52.47 ms14.8
matroska-test-files/test1.mkvmkvmerge -J54.71 ms53.76 ms – 54.75 ms20.1
matroska-test-files/test5.mkvExifTool109.25 ms107.72 ms – 110.03 ms36.9
matroska-test-files/test5.mkvMediaInfo46.88 ms45.52 ms – 128.81 ms11.4
matroska-test-files/test5.mkvffprobe -show_format -show_streams52.50 ms51.30 ms – 52.67 ms24.6
matroska-test-files/test5.mkvmkvinfo52.26 ms52.05 ms – 52.54 ms16.2
matroska-test-files/test5.mkvmkvmerge -J55.96 ms55.59 ms – 56.56 ms23.1

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia46.1 µs0.06×1.0 MiB5639.5 B1890.0--42.2cold first run 39.28 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia, movie box last45.0 µs0.06×1.0 MiB5610.2 B1890.0--42.2cold first run 50.77 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP4779.5 µs1.00×1.5 MiB8079.4 B1890.0--42.3cold first run 45.16 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia660.2 µs0.06×3.0 MiB439.4 B72002.0--42.4cold first run 56.32 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia, movie box last665.4 µs0.06×3.0 MiB438.5 B72002.0--42.3cold first run 43.52 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP411.63 ms1.00×17.5 MiB2550.9 B72002.0--42.2cold first run 73.82 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia21.28 ms0.18×63.0 MiB2363.3 B2796031.2--42.2cold first run 108.77 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia, movie box last12.10 ms0.11×63.0 MiB2363.1 B2796031.2--42.2cold first run 86.96 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP4115.24 ms1.00×103.7 MiB3889.9 B2796031.3--42.4cold first run 277.28 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia185.4 µs0.07×1.1 MiB6376.7 B1890.0--42.3cold first run 71.37 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP42.63 ms1.00×2.6 MiB14687.2 B1890.0--42.4cold first run 95.25 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia2.16 ms0.07×3.2 MiB465.0 B72002.0--42.2cold first run 73.88 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP432.03 ms1.00×34.7 MiB5051.3 B72002.0--42.2cold first run 151.83 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia27.09 ms0.17×63.2 MiB2368.3 B2796031.2--42.3cold first run 131.18 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP4160.74 ms1.00×243.3 MiB9122.6 B2796031.3--42.2cold first run 535.20 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/bench/frag-bbb-1080p.mp4ffmpeg -c copy -map 0:a:0 -f mp4100.29 ms99.64 ms – 101.53 ms88.1
generated/mp4/h264-aac.mp4ffmpeg -c copy -map 0:a:0 -f mp434.14 ms33.98 ms – 43.07 ms19.0
samples/MPEG-4/video.mp4ffmpeg -c copy -map 0:a:0 -f mp457.38 ms55.93 ms – 64.54 ms20.4

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBOneMedia6.9 µs0.31×77.7 KiB79536.0 B1---42.2cold first run 26.47 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBATL.NET192.4 µs8.74×938.2 KiB960749.4 B1---42.1cold first run 48.78 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBTagLib#22.0 µs1.00×140.5 KiB143835.9 B1---42.2fastest comparator; cold first run 18.18 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBOneMedia7.3 µs0.35×79.2 KiB81136.0 B1---42.1cold first run 26.50 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBATL.NET186.1 µs8.92×1.0 MiB1073624.9 B1---42.2cold first run 51.57 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBTagLib#20.9 µs1.00×137.9 KiB141202.0 B1---42.2fastest comparator; cold first run 15.16 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBOneMedia7.6 µs0.28×80.1 KiB82064.0 B1---42.1cold first run 26.65 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBATL.NET193.7 µs7.10×937.5 KiB959957.1 B1---42.2cold first run 48.49 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBTagLib#27.3 µs1.00×138.2 KiB141554.0 B1---42.0fastest comparator; cold first run 18.89 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBOneMedia4.4 µs0.27×67.5 KiB69144.0 B1---42.1cold first run 26.20 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBATL.NET248.9 µs15.18×1.0 MiB1083814.4 B1---42.2cold first run 48.17 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBTagLib#16.4 µs1.00×116.8 KiB119629.9 B1---42.1fastest comparator; cold first run 18.64 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/xiph-flv/flac/tags.flac0.1 MiBOneMedia3.8 µs0.31×70.3 KiB71944.0 B1---42.1cold first run 19.84 ms
generated/xiph-flv/flac/tags.flac0.1 MiBATL.NET153.0 µs12.82×783.9 KiB802696.6 B1---42.1cold first run 40.66 ms
generated/xiph-flv/flac/tags.flac0.1 MiBTagLib#11.9 µs1.00×144.1 KiB147561.8 B1---42.2fastest comparator; cold first run 8.71 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBOneMedia4.2 µs0.32×72.9 KiB74664.0 B1---42.2cold first run 19.74 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBATL.NET155.7 µs11.90×814.6 KiB834177.4 B1---42.1cold first run 40.85 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBTagLib#13.1 µs1.00×150.9 KiB154537.8 B1---42.1fastest comparator; cold first run 8.72 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac-tags.mp40.2 MiBOneMedia28.9 µs0.32×366.3 KiB375056.0 B1---42.0cold first run 22.75 ms
generated/mp4/h264-aac-tags.mp40.2 MiBATL.NET1.70 ms18.61×1.9 MiB2027396.9 B1---42.1cold first run 53.83 ms
generated/mp4/h264-aac-tags.mp40.2 MiBTagLib#91.5 µs1.00×413.9 KiB423820.2 B1---42.1fastest comparator; cold first run 11.40 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBOneMedia6.6 µs0.37×137.8 KiB141088.0 B1---42.1cold first run 21.97 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBATL.NET263.2 µs14.49×1.1 MiB1102529.7 B1---42.1cold first run 53.87 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBTagLib#18.2 µs1.00×142.3 KiB145737.8 B1---42.1fastest comparator; cold first run 11.59 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/pcm/tagged-wav-info.wav0.5 MiBOneMedia49.8 µs0.37×533.1 KiB545856.0 B1---42.1cold first run 20.02 ms
generated/pcm/tagged-wav-info.wav0.5 MiBATL.NET193.6 µs1.43×1.1 MiB1181619.4 B1---42.2cold first run 41.42 ms
generated/pcm/tagged-wav-info.wav0.5 MiBTagLib#135.3 µs1.00×582.8 KiB596757.3 B1---42.1fastest comparator; cold first run 16.48 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBOneMedia57.8 µs0.38×863.0 KiB883743.8 B1---42.1cold first run 20.55 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBATL.NET541.2 µs3.56×1.8 MiB1903091.6 B1---42.2cold first run 43.83 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBTagLib#152.1 µs1.00×911.1 KiB932924.2 B1---42.1fastest comparator; cold first run 16.64 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBOneMedia49.8 µs0.37×533.1 KiB545856.0 B1---42.2cold first run 20.17 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBATL.NET199.6 µs1.48×1.1 MiB1181618.7 B1---42.1cold first run 41.44 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBTagLib#134.9 µs1.00×582.8 KiB596768.2 B1---42.2fastest comparator; cold first run 16.54 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-two-audio-tags.mkv0.3 MiBOneMedia42.4 µs0.76×306.9 KiB314232.0 B1---42.0cold first run 39.40 ms
generated/mkv/h264-two-audio-tags.mkv0.3 MiBATL.NETfail-------42.1NullReferenceException: Object reference not set to an instance of an object.
generated/mkv/h264-two-audio-tags.mkv0.3 MiBTagLib#56.0 µs1.00×323.1 KiB330838.0 B1---42.1cold first run 9.67 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia2.14 ms-22.3 MiB23393024.0 B1---42.1cold first run 45.75 ms
matroska-test-files/test1.mkv22.3 MiBATL.NETfail-------42.1NullReferenceException: Object reference not set to an instance of an object.
matroska-test-files/test1.mkv22.3 MiBTagLib#fail-------42.1InvalidOperationException: Invalid EBML format Read

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia12.19 ms-1.8 MiB1840856.0 B10.2--42.1cold first run 139.72 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/mkv/h264-aac.mkvffmpeg -c copy -f mp427.33 ms27.02 ms – 27.83 ms18.1

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia214.3 µs-1.3 MiB4342.4 B3090.2--42.2cold first run 47.34 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia4.26 ms-9.2 MiB1674.4 B573522.2--42.2cold first run 50.19 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia4.66 ms-5.1 MiB1232.4 B429830.3--42.2cold first run 51.04 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia141.69 ms-33.2 MiB705.4 B493231125.2--42.3cold first run 282.31 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia76.02 ms-33.4 MiB437.3 B80000544.6--42.1cold first run 201.70 ms

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

FileToolWall medianWall min – maxPeak MiBNote
blender/Sintel.2010.1080p.mkvffmpeg -c copy -f matroska1.40 s1.40 s – 1.40 s107.3
blender/Sintel.2010.1080p.mkvmkvmerge338.07 ms338.07 ms – 338.07 ms95.2exit 1
blender/tears_of_steel_1080p.webmffmpeg -c copy -f matroska213.15 ms212.91 ms – 219.89 ms29.6
blender/tears_of_steel_1080p.webmmkvmerge227.89 ms226.94 ms – 228.59 ms60.0exit 1
generated/mkv/h264-aac.mkvffmpeg -c copy -f matroska27.15 ms26.71 ms – 28.27 ms18.0
generated/mkv/h264-aac.mkvmkvmerge46.00 ms45.28 ms – 50.26 ms17.6exit 1
matroska-test-files/test1.mkvffmpeg -c copy -f matroska58.63 ms58.57 ms – 60.51 ms18.7
matroska-test-files/test1.mkvmkvmerge59.93 ms59.52 ms – 60.13 ms55.7exit 1
matroska-test-files/test5.mkvffmpeg -c copy -f matroska82.78 ms81.16 ms – 82.87 ms35.9
matroska-test-files/test5.mkvmkvmerge61.91 ms61.62 ms – 62.60 ms70.8exit 1

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBOneMedia30.6 µs0.49×35.5 KiB-----42.3cold first run 29.72 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBATL.NET69.8 µs1.13×285.6 KiB-----42.2cold first run 33.69 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBTagLib#61.9 µs1.00×34.1 KiB-----42.1fastest comparator; cold first run 16.73 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBOneMedia35.9 µs0.73×42.5 KiB-----42.1cold first run 31.03 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBATL.NET94.6 µs1.93×296.1 KiB-----42.2cold first run 37.00 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBTagLib#48.9 µs1.00×33.0 KiB-----42.1fastest comparator; cold first run 13.80 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBOneMedia29.7 µs0.53×36.0 KiB-----42.2cold first run 29.86 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBATL.NET67.6 µs1.20×285.5 KiB-----42.1cold first run 33.45 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBTagLib#56.5 µs1.00×37.9 KiB-----42.2fastest comparator; cold first run 15.95 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBOneMedia23.8 µs0.57×25.8 KiB-----42.1cold first run 28.74 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBATL.NET45.4 µs1.09×274.2 KiB-----42.3cold first run 30.37 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBTagLib#41.7 µs1.00×26.3 KiB-----42.2fastest comparator; cold first run 14.19 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBOneMedia29.1 µs0.52×32.1 KiB-----42.1cold first run 27.93 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBATL.NET87.0 µs1.56×348.1 KiB-----42.2cold first run 35.25 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBTagLib#55.8 µs1.00×30.6 KiB-----42.2fastest comparator; cold first run 15.10 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBOneMedia42.8 µs0.64×52.2 KiB-----42.2cold first run 31.98 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBATL.NET123.6 µs1.86×308.9 KiB-----42.2cold first run 39.61 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBTagLib#66.5 µs1.00×46.9 KiB-----42.2fastest comparator; cold first run 15.91 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBOneMedia20.9 µs0.87×20.5 KiB-----42.3cold first run 25.59 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBATL.NET43.9 µs1.84×334.6 KiB-----42.2cold first run 28.76 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBTagLib#23.9 µs1.00×14.7 KiB-----42.2fastest comparator; cold first run 11.93 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/audio-es/mp3/long-60s.mp3ExifTool72.04 ms71.52 ms – 73.01 ms21.5
generated/audio-es/mp3/long-60s.mp3MediaInfo21.95 ms21.74 ms – 22.28 ms9.3
generated/audio-es/mp3/long-60s.mp3ffprobe -show_format -show_streams31.90 ms30.37 ms – 35.40 ms13.6
generated/audio-es/tagged/apev2-only.mp3ExifTool72.52 ms72.28 ms – 72.68 ms21.5
generated/audio-es/tagged/apev2-only.mp3MediaInfo24.31 ms23.86 ms – 24.46 ms13.9
generated/audio-es/tagged/apev2-only.mp3ffprobe -show_format -show_streams31.94 ms31.18 ms – 32.13 ms13.4
generated/audio-es/tagged/id3v22-basic.mp3ExifTool73.78 ms72.83 ms – 74.53 ms21.6
generated/audio-es/tagged/id3v22-basic.mp3MediaInfo24.90 ms23.42 ms – 41.80 ms13.8
generated/audio-es/tagged/id3v22-basic.mp3ffprobe -show_format -show_streams34.74 ms33.90 ms – 73.71 ms13.8
generated/audio-es/tagged/id3v23-and-v1.mp3ExifTool73.28 ms71.63 ms – 75.33 ms21.6
generated/audio-es/tagged/id3v23-and-v1.mp3MediaInfo21.71 ms21.26 ms – 22.05 ms9.3
generated/audio-es/tagged/id3v23-and-v1.mp3ffprobe -show_format -show_streams34.12 ms34.07 ms – 34.90 ms13.4
generated/audio-es/tagged/id3v24-apev2-v1.mp3ExifTool80.31 ms79.43 ms – 80.37 ms24.3
generated/audio-es/tagged/id3v24-apev2-v1.mp3MediaInfo23.11 ms23.10 ms – 24.16 ms14.0
generated/audio-es/tagged/id3v24-apev2-v1.mp3ffprobe -show_format -show_streams34.15 ms33.90 ms – 34.92 ms13.4
generated/audio-es/tagged/id3v24-basic.mp3ExifTool80.24 ms79.66 ms – 81.64 ms24.2
generated/audio-es/tagged/id3v24-basic.mp3MediaInfo23.14 ms22.46 ms – 23.61 ms13.9
generated/audio-es/tagged/id3v24-basic.mp3ffprobe -show_format -show_streams34.19 ms33.26 ms – 38.87 ms13.9
generated/audio-es/tagged/id3v24-chapters.mp3ExifTool71.81 ms71.37 ms – 72.80 ms21.3
generated/audio-es/tagged/id3v24-chapters.mp3MediaInfo21.27 ms21.22 ms – 21.91 ms9.3
generated/audio-es/tagged/id3v24-chapters.mp3ffprobe -show_format -show_streams34.30 ms34.28 ms – 35.43 ms13.4

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/xiph-flv/flac/tags.flac0.1 MiBOneMedia20.7 µs0.77×9.0 KiB-----42.2cold first run 24.42 ms
generated/xiph-flv/flac/tags.flac0.1 MiBATL.NET46.0 µs1.72×89.3 KiB-----42.2cold first run 26.71 ms
generated/xiph-flv/flac/tags.flac0.1 MiBTagLib#26.7 µs1.00×19.9 KiB-----42.2fastest comparator; cold first run 7.72 ms
generated/xiph-flv/flac/cover.flac0.1 MiBOneMedia25.0 µs0.79×18.0 KiB-----42.2cold first run 25.12 ms
generated/xiph-flv/flac/cover.flac0.1 MiBATL.NET47.6 µs1.50×90.1 KiB-----42.2cold first run 27.43 ms
generated/xiph-flv/flac/cover.flac0.1 MiBTagLib#31.7 µs1.00×72.8 KiB-----42.1fastest comparator; cold first run 8.86 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBOneMedia22.5 µs0.78×9.4 KiB-----42.2cold first run 23.60 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBATL.NET54.5 µs1.89×98.8 KiB-----42.2cold first run 28.13 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBTagLib#28.8 µs1.00×23.4 KiB-----42.1fastest comparator; cold first run 7.91 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBOneMedia28.9 µs0.65×22.2 KiB-----42.2cold first run 26.13 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBATL.NET52.4 µs1.17×168.4 KiB-----42.2cold first run 28.56 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBTagLib#44.7 µs1.00×33.9 KiB-----42.2fastest comparator; cold first run 8.36 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBOneMedia30.1 µs0.64×22.9 KiB-----42.2cold first run 25.55 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBATL.NET61.8 µs1.31×178.0 KiB-----42.1cold first run 29.23 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBTagLib#47.1 µs1.00×37.5 KiB-----42.2fastest comparator; cold first run 8.61 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBOneMedia20.3 µs0.59×12.2 KiB-----42.2cold first run 26.54 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBATL.NET69.8 µs2.04×162.0 KiB-----42.2cold first run 28.78 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBTagLib#34.3 µs1.00×23.8 KiB-----42.2fastest comparator; cold first run 8.58 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBOneMedia18.6 µs0.61×7.9 KiB-----42.3cold first run 25.08 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBATL.NET57.3 µs1.89×151.5 KiB-----42.3cold first run 27.87 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBTagLib#30.4 µs1.00×16.9 KiB-----42.2fastest comparator; cold first run 8.59 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBOneMedia41.0 µs1.13×26.2 KiB-----42.2cold first run 25.30 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBATL.NET54.6 µs1.51×157.5 KiB-----42.1cold first run 26.25 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBTagLib#36.2 µs1.00×33.5 KiB-----42.3fastest comparator; cold first run 8.51 ms

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

FileToolWall medianWall min – maxPeak MiBNote
blender/big_buck_bunny_480p_stereo.oggExifTool72.84 ms72.23 ms – 72.93 ms21.4
blender/big_buck_bunny_480p_stereo.oggMediaInfo23.39 ms22.96 ms – 23.53 ms9.8
blender/big_buck_bunny_480p_stereo.oggffprobe -show_format -show_streams31.92 ms31.72 ms – 37.69 ms17.4
generated/xiph-flv/flac/cover.flacExifTool71.60 ms71.32 ms – 73.53 ms21.4
generated/xiph-flv/flac/cover.flacMediaInfo23.18 ms22.97 ms – 24.77 ms13.9
generated/xiph-flv/flac/cover.flacffprobe -show_format -show_streams31.67 ms31.39 ms – 33.64 ms13.5
generated/xiph-flv/flac/tags.flacExifTool72.01 ms71.40 ms – 72.52 ms21.2
generated/xiph-flv/flac/tags.flacMediaInfo22.26 ms21.78 ms – 22.26 ms9.5
generated/xiph-flv/flac/tags.flacffprobe -show_format -show_streams31.45 ms31.26 ms – 33.74 ms13.1
generated/xiph-flv/ogg/opus-tags.opusExifTool70.86 ms70.86 ms – 71.07 ms21.2
generated/xiph-flv/ogg/opus-tags.opusMediaInfo22.84 ms21.70 ms – 22.93 ms9.4
generated/xiph-flv/ogg/opus-tags.opusffprobe -show_format -show_streams31.08 ms30.94 ms – 33.49 ms13.8
generated/xiph-flv/ogg/vorbis-tags.oggExifTool71.58 ms71.47 ms – 72.66 ms21.4
generated/xiph-flv/ogg/vorbis-tags.oggMediaInfo22.09 ms21.96 ms – 22.41 ms9.5
generated/xiph-flv/ogg/vorbis-tags.oggffprobe -show_format -show_streams31.63 ms31.60 ms – 35.64 ms14.5
generated/xiph-flv/tagvar/flac-rich.flacExifTool71.50 ms70.55 ms – 72.23 ms21.4
generated/xiph-flv/tagvar/flac-rich.flacMediaInfo21.34 ms21.31 ms – 22.13 ms9.5
generated/xiph-flv/tagvar/flac-rich.flacffprobe -show_format -show_streams31.80 ms31.11 ms – 32.23 ms12.9
generated/xiph-flv/tagvar/opus-unicode.opusExifTool70.83 ms70.05 ms – 72.24 ms21.3
generated/xiph-flv/tagvar/opus-unicode.opusMediaInfo21.63 ms21.36 ms – 22.99 ms9.5
generated/xiph-flv/tagvar/opus-unicode.opusffprobe -show_format -show_streams32.18 ms32.09 ms – 32.51 ms13.4
generated/xiph-flv/tagvar/vorbis-rich.oggExifTool73.83 ms72.98 ms – 73.86 ms21.3
generated/xiph-flv/tagvar/vorbis-rich.oggMediaInfo22.08 ms21.96 ms – 22.45 ms9.5
generated/xiph-flv/tagvar/vorbis-rich.oggffprobe -show_format -show_streams31.77 ms31.60 ms – 32.24 ms13.7

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/xiph-flv/flac/bs4096.flac0.5 MiBOneMedia1.31 ms-65.5 KiB1426.7 B470.5--42.1cold first run 19.05 ms
generated/xiph-flv/ogg/opus-stereo-64k.opus0.0 MiBOneMedia136.6 µs-21.5 KiB109.7 B2010.0--42.2cold first run 17.76 ms
generated/xiph-flv/ogg/vorbis-stereo-q5.ogg0.0 MiBOneMedia132.0 µs-34.2 KiB201.1 B1740.0--42.3cold first run 21.02 ms
generated/xiph-flv/ogg/theora-vorbis.ogv0.2 MiBOneMedia776.0 µs-42.1 KiB146.5 B2940.2--42.2cold first run 22.45 ms
generated/xiph-flv/flv/h264-aac.flv0.2 MiBOneMedia59.4 µs-16.7 KiB58.0 B2940.2--42.1cold first run 16.31 ms
generated/xiph-flv/flv/mp3-44k.flv0.1 MiBOneMedia32.1 µs-7.1 KiB46.8 B1550.1--42.2cold first run 12.55 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBOneMedia479.83 ms-731.0 KiB14.9 B50290157.5--42.2cold first run 584.85 ms

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

FileToolWall medianWall min – maxPeak MiBNote
blender/big_buck_bunny_480p_stereo.oggffmpeg -c copy -f null299.55 ms284.01 ms – 302.44 ms20.7
generated/xiph-flv/flac/bs4096.flacffmpeg -c copy -f null33.01 ms32.14 ms – 34.28 ms13.6
generated/xiph-flv/flv/h264-aac.flvffmpeg -c copy -f null34.11 ms33.67 ms – 34.58 ms20.1
generated/xiph-flv/flv/mp3-44k.flvffmpeg -c copy -f null33.03 ms32.94 ms – 34.43 ms15.8
generated/xiph-flv/ogg/opus-stereo-64k.opusffmpeg -c copy -f null32.42 ms31.81 ms – 35.42 ms13.9
generated/xiph-flv/ogg/theora-vorbis.ogvffmpeg -c copy -f null33.85 ms32.65 ms – 34.68 ms16.0
generated/xiph-flv/ogg/vorbis-stereo-q5.oggffmpeg -c copy -f null32.29 ms31.97 ms – 33.14 ms14.2

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/asf/wmv2-wmav2-tagged.wmv0.4 MiBOneMedia28.5 µs0.83×75.3 KiB-----42.1cold first run 33.14 ms
generated/asf/wmv2-wmav2-tagged.wmv0.4 MiBATL.NET204.6 µs5.96×598.2 KiB-----42.1cold first run 31.92 ms
generated/asf/wmv2-wmav2-tagged.wmv0.4 MiBTagLib#34.3 µs1.00×27.6 KiB-----42.2fastest comparator; cold first run 8.31 ms
generated/asf/wmav2-tagged.wma0.0 MiBOneMedia28.7 µs0.72×66.2 KiB-----42.2cold first run 32.21 ms
generated/asf/wmav2-tagged.wma0.0 MiBATL.NET127.0 µs3.20×445.0 KiB-----42.1cold first run 29.35 ms
generated/asf/wmav2-tagged.wma0.0 MiBTagLib#39.7 µs1.00×26.1 KiB-----42.2fastest comparator; cold first run 7.58 ms
generated/asf/wmav2-cover.wma0.1 MiBOneMedia21.6 µs0.58×70.5 KiB-----42.1cold first run 32.43 ms
generated/asf/wmav2-cover.wma0.1 MiBATL.NET104.8 µs2.82×424.1 KiB-----42.2cold first run 30.55 ms
generated/asf/wmav2-cover.wma0.1 MiBTagLib#37.1 µs1.00×20.3 KiB-----42.1fastest comparator; cold first run 7.74 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBOneMedia22.0 µs0.62×61.6 KiB-----42.2cold first run 31.32 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBATL.NET106.9 µs3.03×424.9 KiB-----42.2cold first run 28.59 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBTagLib#35.3 µs1.00×18.4 KiB-----42.2fastest comparator; cold first run 7.90 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBOneMedia35.8 µs0.67×82.3 KiB-----42.2cold first run 32.32 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBATL.NET315.6 µs5.92×713.1 KiB-----42.2cold first run 32.99 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBTagLib#53.3 µs1.00×166.0 KiB-----42.2fastest comparator; cold first run 8.43 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBOneMedia40.0 µs0.94×129.1 KiB-----42.2cold first run 38.02 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBATL.NET291.8 µs6.85×813.3 KiB-----42.0cold first run 30.45 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBTagLib#42.6 µs1.00×73.3 KiB-----42.2fastest comparator; cold first run 8.01 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/asf/mp3-tagged-unicode.wmaExifTool103.83 ms103.68 ms – 103.90 ms37.2
generated/asf/mp3-tagged-unicode.wmaMediaInfo21.97 ms21.92 ms – 22.23 ms9.5
generated/asf/mp3-tagged-unicode.wmaffprobe -show_format -show_streams31.44 ms30.62 ms – 35.57 ms13.6
generated/asf/wmav2-cover.wmaExifTool105.00 ms104.66 ms – 105.63 ms37.4
generated/asf/wmav2-cover.wmaMediaInfo26.02 ms25.03 ms – 26.08 ms10.8
generated/asf/wmav2-cover.wmaffprobe -show_format -show_streams31.41 ms31.00 ms – 32.34 ms14.5
generated/asf/wmav2-tagged.wmaExifTool103.80 ms103.08 ms – 105.02 ms37.2
generated/asf/wmav2-tagged.wmaMediaInfo21.78 ms21.10 ms – 22.98 ms9.4
generated/asf/wmav2-tagged.wmaffprobe -show_format -show_streams31.19 ms31.19 ms – 35.73 ms13.8
generated/asf/wmv2-wmav2-tagged.wmvExifTool105.17 ms104.95 ms – 108.63 ms37.3
generated/asf/wmv2-wmav2-tagged.wmvMediaInfo25.81 ms25.51 ms – 26.52 ms10.9
generated/asf/wmv2-wmav2-tagged.wmvffprobe -show_format -show_streams32.31 ms31.47 ms – 37.56 ms15.5
samples/ASF/wma_with_ID3_APIC.wmaExifTool104.75 ms104.16 ms – 106.95 ms37.4
samples/ASF/wma_with_ID3_APIC.wmaMediaInfo21.48 ms21.41 ms – 22.67 ms9.4
samples/ASF/wma_with_ID3_APIC.wmaffprobe -show_format -show_streams32.06 ms31.92 ms – 32.51 ms14.0
samples/ASF/wma_with_WmPicture.wmaExifTool104.87 ms103.90 ms – 104.95 ms37.4
samples/ASF/wma_with_WmPicture.wmaMediaInfo23.56 ms23.51 ms – 23.68 ms14.2
samples/ASF/wma_with_WmPicture.wmaffprobe -show_format -show_streams31.23 ms31.05 ms – 32.71 ms14.5

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/pcm/tagged-wav-info.wav0.5 MiBOneMedia25.2 µs0.67×9.7 KiB-----42.1cold first run 23.10 ms
generated/pcm/tagged-wav-info.wav0.5 MiBATL.NET37.7 µs1.00×84.4 KiB-----42.2fastest comparator; cold first run 25.39 ms
generated/pcm/tagged-wav-info.wav0.5 MiBTagLib#65.0 µs1.72×30.9 KiB-----42.2cold first run 15.23 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBOneMedia28.8 µs0.47×13.7 KiB-----42.2cold first run 24.81 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBATL.NET117.6 µs1.94×148.9 KiB-----42.4cold first run 27.69 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBTagLib#60.7 µs1.00×31.2 KiB-----42.2fastest comparator; cold first run 14.03 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBOneMedia25.6 µs0.59×9.7 KiB-----42.2cold first run 23.77 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBATL.NET43.5 µs1.00×84.4 KiB-----42.3fastest comparator; cold first run 25.35 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBTagLib#57.3 µs1.32×30.9 KiB-----42.0cold first run 13.99 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBOneMedia15.6 µs0.88×3.6 KiB-----42.2cold first run 21.53 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBATL.NET17.9 µs1.00×79.9 KiB-----42.3fastest comparator; cold first run 22.64 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBTagLib#47.1 µs2.64×26.2 KiB-----42.3cold first run 12.56 ms
generated/pcm/tagged-aiff.aiff0.5 MiBOneMedia20.2 µs0.77×6.3 KiB-----42.1cold first run 21.82 ms
generated/pcm/tagged-aiff.aiff0.5 MiBATL.NET32.7 µs1.24×78.6 KiB-----42.1cold first run 24.61 ms
generated/pcm/tagged-aiff.aiff0.5 MiBTagLib#26.3 µs1.00×9.4 KiB-----42.2fastest comparator; cold first run 6.17 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBOneMedia24.8 µs0.60×13.8 KiB-----42.1cold first run 27.28 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBATL.NET66.3 µs1.60×224.0 KiB-----42.2cold first run 32.88 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBTagLib#41.4 µs1.00×17.8 KiB-----42.1fastest comparator; cold first run 9.03 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBOneMedia16.4 µs0.84×3.6 KiB-----42.2cold first run 20.95 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBATL.NET27.3 µs1.40×75.5 KiB-----42.1cold first run 21.43 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBTagLib#19.5 µs1.00×7.3 KiB-----42.3fastest comparator; cold first run 6.18 ms
generated/pcm/tagged-caf.caf0.5 MiBOneMedia17.8 µs0.32×7.2 KiB-----42.2cold first run 21.93 ms
generated/pcm/tagged-caf.caf0.5 MiBATL.NET55.2 µs1.00×86.0 KiB-----42.2cold first run 26.45 ms
generated/pcm/tagged-caf.caf0.5 MiBTagLib#fail-------42.2UnsupportedFormatException: generated/pcm/tagged-caf.caf (taglib/caf)

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

FileToolWall medianWall min – maxPeak MiBNote
generated/pcm/aiff-pcm_s16be-mono44k.aiffExifTool101.83 ms100.68 ms – 102.16 ms36.9
generated/pcm/aiff-pcm_s16be-mono44k.aiffMediaInfo22.74 ms22.42 ms – 22.82 ms9.4
generated/pcm/aiff-pcm_s16be-mono44k.aiffffprobe -show_format -show_streams30.67 ms30.54 ms – 32.24 ms13.0
generated/pcm/tagged-aiff-id3.aiffExifTool109.73 ms108.30 ms – 110.41 ms38.1
generated/pcm/tagged-aiff-id3.aiffMediaInfo23.56 ms22.82 ms – 25.09 ms9.5
generated/pcm/tagged-aiff-id3.aiffffprobe -show_format -show_streams30.47 ms30.21 ms – 32.06 ms13.0
generated/pcm/tagged-aiff.aiffExifTool103.01 ms101.69 ms – 104.46 ms37.0
generated/pcm/tagged-aiff.aiffMediaInfo23.98 ms23.40 ms – 24.12 ms9.3
generated/pcm/tagged-aiff.aiffffprobe -show_format -show_streams31.76 ms30.51 ms – 32.20 ms13.0
generated/pcm/tagged-caf.cafExifTool76.93 ms76.62 ms – 77.58 ms22.7exit 1
generated/pcm/tagged-caf.cafMediaInfo21.61 ms21.17 ms – 21.85 ms9.2
generated/pcm/tagged-caf.cafffprobe -show_format -show_streams31.72 ms30.64 ms – 32.30 ms13.0
generated/pcm/tagged-wav-bext.wavExifTool71.31 ms71.19 ms – 71.44 ms21.4
generated/pcm/tagged-wav-bext.wavMediaInfo34.68 ms34.30 ms – 34.79 ms11.3
generated/pcm/tagged-wav-bext.wavffprobe -show_format -show_streams31.65 ms30.98 ms – 31.99 ms13.7
generated/pcm/tagged-wav-id3.wavExifTool72.93 ms70.32 ms – 73.41 ms21.4
generated/pcm/tagged-wav-id3.wavMediaInfo23.44 ms23.32 ms – 24.68 ms9.6
generated/pcm/tagged-wav-id3.wavffprobe -show_format -show_streams49.43 ms49.32 ms – 50.24 ms13.9
generated/pcm/tagged-wav-info.wavExifTool71.39 ms70.88 ms – 71.50 ms21.2
generated/pcm/tagged-wav-info.wavMediaInfo23.75 ms23.44 ms – 24.43 ms9.6
generated/pcm/tagged-wav-info.wavffprobe -show_format -show_streams50.09 ms49.36 ms – 50.12 ms13.9
generated/pcm/wav-pcm_s16le-mono44k.wavExifTool70.30 ms69.21 ms – 71.13 ms21.1
generated/pcm/wav-pcm_s16le-mono44k.wavMediaInfo23.36 ms23.18 ms – 23.63 ms9.5
generated/pcm/wav-pcm_s16le-mono44k.wavffprobe -show_format -show_streams41.19 ms41.10 ms – 41.70 ms13.6

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia55.6 µs-22.9 KiB108.6 B2160.4--42.2cold first run 23.94 ms
samples/avi/AV36_1.AVI9.3 MiBOneMedia581.4 µs-22.8 KiB23.6 B9888.8--42.2cold first run 25.66 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia3.98 ms-22.4 KiB2.5 B914744.5--42.2cold first run 30.69 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBOneMedia15.10 ms-19.3 KiB6.6 B2984179.9--42.2cold first run 39.99 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/avi/tagged-mpeg4-mp3.aviffmpeg -c copy -f null32.35 ms32.29 ms – 36.53 ms14.7
samples/avi/AV36_1.AVIffmpeg -c copy -f null35.91 ms35.03 ms – 36.97 ms14.3
samples/avi/DV-type1/dvformat2.aviffmpeg -c copy -f null56.94 ms56.81 ms – 58.17 ms14.8
samples/avi/GoneNutty.aviffmpeg -c copy -f null65.15 ms64.28 ms – 66.04 ms16.8

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia110.2 µs-1.1 MiB561425.8 B20.2--42.3cold first run 22.46 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia8.19 ms-63.6 MiB33320792.0 B222.3--42.1cold first run 29.90 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia246.6 µs-1.0 MiB550282.0 B20.4--42.2cold first run 12.95 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia23.14 ms-129.3 MiB67800584.0 B244.7--42.1cold first run 42.71 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia103.1 µs-1.1 MiB551751.3 B20.2--42.2cold first run 14.46 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia8.60 ms-63.2 MiB11047368.0 B626.6--42.2cold first run 27.15 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia1.55 ms-740.5 KiB379142.1 B20.2--42.2cold first run 72.82 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia15.46 ms-4.1 MiB81713.2 B5225.8--42.1cold first run 115.00 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia24.1 µs0.69×22.9 KiB---2-42.2cold first run 18.64 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBATL.NETfail-------42.3NullReferenceException: Object reference not set to an instance of an object.
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBMetadataExtractor35.2 µs1.00×67.9 KiB---11-42.3fastest comparator; cold first run 10.68 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBTagLib#70.1 µs2.00×77.6 KiB---2-42.3cold first run 15.21 ms
samples/avi/AV36_1.AVI9.3 MiBOneMedia19.0 µs0.57×22.8 KiB---2-42.2cold first run 18.68 ms
samples/avi/AV36_1.AVI9.3 MiBATL.NETfail-------42.2NullReferenceException: Object reference not set to an instance of an object.
samples/avi/AV36_1.AVI9.3 MiBMetadataExtractor33.5 µs1.00×67.8 KiB---11-42.2fastest comparator; cold first run 8.30 ms
samples/avi/AV36_1.AVI9.3 MiBTagLib#58.9 µs1.76×40.6 KiB---2-42.3cold first run 14.31 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia18.0 µs0.54×22.4 KiB---2-42.3cold first run 18.42 ms
samples/avi/GoneNutty.avi44.7 MiBATL.NETfail-------42.2NullReferenceException: Object reference not set to an instance of an object.
samples/avi/GoneNutty.avi44.7 MiBMetadataExtractor33.4 µs1.00×67.8 KiB---11-42.2fastest comparator; cold first run 8.24 ms
samples/avi/GoneNutty.avi44.7 MiBTagLib#59.1 µs1.77×39.3 KiB---2-42.2cold first run 13.92 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBOneMedia19.1 µs0.51×19.1 KiB---2-42.1cold first run 18.27 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBATL.NETfail-------42.2NullReferenceException: Object reference not set to an instance of an object.
samples/avi/DV-type1/dvformat2.avi180.0 MiBMetadataExtractor37.3 µs1.00×68.4 KiB---11-42.1fastest comparator; cold first run 8.58 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBTagLib#58.9 µs1.58×291.4 KiB---2-42.1cold first run 14.28 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/avi/tagged-mpeg4-mp3.aviExifTool73.38 ms73.17 ms – 74.24 ms21.6
generated/avi/tagged-mpeg4-mp3.aviMediaInfo26.40 ms25.85 ms – 26.48 ms11.4
generated/avi/tagged-mpeg4-mp3.aviffprobe -show_format -show_streams30.92 ms30.37 ms – 33.38 ms14.3
samples/avi/AV36_1.AVIExifTool72.93 ms71.15 ms – 73.56 ms21.4
samples/avi/AV36_1.AVIMediaInfo23.70 ms23.64 ms – 24.21 ms10.2
samples/avi/AV36_1.AVIffprobe -show_format -show_streams31.71 ms31.18 ms – 32.87 ms13.5
samples/avi/DV-type1/dvformat2.aviExifTool73.14 ms73.11 ms – 73.49 ms21.4
samples/avi/DV-type1/dvformat2.aviMediaInfo38.18 ms37.72 ms – 38.63 ms11.9
samples/avi/DV-type1/dvformat2.aviffprobe -show_format -show_streams35.39 ms34.46 ms – 38.28 ms14.4
samples/avi/GoneNutty.aviExifTool73.14 ms72.73 ms – 73.51 ms21.5
samples/avi/GoneNutty.aviMediaInfo41.09 ms40.58 ms – 41.45 ms12.3
samples/avi/GoneNutty.aviffprobe -show_format -show_streams32.51 ms31.94 ms – 33.48 ms15.2