Recursive AI

Speed, memory and I/O rows, 0.8: x64 (worker)

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: worker-x64; AMD Ryzen 9 7950X3D 16-Core Processor; 32 logical cores; Linux Mint 22.3 X64; ISA sse4.2 avx2 bmi2 avx512f avx512bw; runtime 10.0.13 (.NET 10.0.13); 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 7.0.2-static https://johnvansickle.com/ffmpeg/ Copyrig; MP4Box - GPAC version 26.07-rev0-ga07cbfff-master; 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
G1002704 (bench)2026-11-02 20:07Zdemux and probe (mp4-demux, mp4-audio, mp4-probe, mkv-demux, mkv-probe)before 3.34; during mean 3.03, max 3.34 over 31 samples at 5 s; after 2.772.5 min
G2002707 (bench)2026-11-02 20:30Zmux, remux, tag write (mp4-mux, mp4-remux, tagw-*, mkv-mux, remux-mem, playable)before 2.15; during mean 1.56, max 2.15 over 36 samples at 5 s; after 1.262.9 min
G3002710 (bench)2026-11-02 20:45Ztag read and the readers without a managed comparator (mp3/xiph/asf/pcm tags, avi, xiph/flv, mpeg, asf demux, repair-index, package-hls)before 0.99; during mean 1.17, max 1.30 over 50 samples at 5 s; after 1.254.1 min
G4002713 (bench)-subtitle parse and convert (subsbench -n 30 20000 100000)before: 14:45:17 up 11 days, 1:31, 30 users, load average: 2.83, 1.60, 2.65; after: 14:58:59 up 11 days, 1:45, 30 users, load average: 1.00, 1.50, 2.43-
G5002744 (bench)2026-11-02 22:27Ztag 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 1.37; during mean 1.25, max 1.37 over 14 samples at 5 s; after 1.18~2 min

Against the bar

RowFiles with a ratioGeomeanWorstVerdict
mp4-demux4/50.10×0.23×at the bar
mp4-audio3/50.47×0.72×at the bar
mp4-probe5/50.11×0.42×at the bar
mkv-demux6/60.26×0.38×at the bar
mkv-probe6/60.71×0.88×at the bar
mp4-mux3/30.15×0.35×at the bar
mp4-remux3/30.12×0.20×at the bar
tagw-id34/40.33×0.37×at the bar
tagw-flac3/30.33×0.39×at the bar
tagw-ilst2/20.50×0.57×at the bar
tagw-riff3/30.58×0.66×at the bar
tagw-mkv1/20.90×0.90×at the bar
remux-mem0/2--no managed comparator, so the row passes (times are information)
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.50×0.63×at the bar
xiph-tags8/80.56×0.78×at the bar
xiph-demux0/7--no managed comparator, so the row passes (times are information)
asf-tags6/60.56×0.65×at the bar
pcm-tags8/80.51×0.74×at the bar
avi-demux0/5--no managed comparator, so the row passes (times are information)
mpeg-demux0/7--no managed comparator, so the row passes (times are information)
asf-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/3--no managed comparator, so the row passes (times are information)
avi-probe5/50.52×0.67×at the bar
subs-parse8/80.53×1.16×at the bar
subs-convert6/60.40×1.14×at the bar

Overall geometric mean of every per-file ratio above (rows with a managed comparator): 0.386× over 91 ratios; worst single ratio 1.16× (parse srt 100000).

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 srt4.10 (3.81)10754SubtitleEdit core6.91 (3.21)135580.59×
20000parse vtt3.63 (3.49)11327SubtitleEdit core32.07 (15.73)355990.11×
20000parse ass9.78 (4.83)12372SubtitleEdit core13.16 (6.24)197800.74×
20000parse ttml45.78 (27.28)43599SubtitleEdit core66.52 (59.99)757720.69×
20000convert srt->vtt10.66 (6.59)20119SubtitleEdit core24.84 (18.21)363810.43×
20000convert srt->ass9.28 (8.87)22345SubtitleEdit core9.78 (9.35)238090.95×
20000convert srt->ttml21.39 (16.12)27531SubtitleEdit core138.04 (126.50)3025790.15×
100000parse srt34.22 (19.43)53812SubtitleEdit core29.40 (15.55)678911.16×
100000parse vtt38.76 (18.45)56580SubtitleEdit core176.02 (153.52)1775320.22×
100000parse ass57.16 (24.29)61388SubtitleEdit core49.70 (37.86)986781.15×
100000parse ttml299.11 (195.37)215980SubtitleEdit core493.00 (455.53)3775500.61×
100000convert srt->vtt57.70 (41.12)100587SubtitleEdit core172.17 (153.97)1819570.34×
100000convert srt->ass66.28 (52.86)108828SubtitleEdit core58.39 (52.27)1192801.14×
100000convert srt->ttml119.99 (107.62)137574SubtitleEdit core700.83 (661.92)15131840.17×

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 MiBOneMedia33.7 µs0.02×23.6 KiB78.3 B3090.2-91.130.4cold first run 25.35 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP41.47 ms1.00×1.4 MiB4631.4 B3090.2-104.530.3cold first run 47.18 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia3.13 ms0.13×57.7 KiB3.2 B1867126.5-66.730.4cold first run 29.89 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP423.19 ms1.00×42.5 MiB2389.5 B1867126.5-104.430.3cold first run 108.52 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia43.76 ms0.13×2.1 MiB52.7 B42276691.1-45.730.3cold first run 75.58 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBSharpMP4329.31 ms1.00×801.0 MiB19866.2 B42276691.1-110.630.4cold first run 670.76 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia46.92 ms-2.1 MiB51.7 B42276691.1-43.730.4cold first run 83.93 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP4fail------105.830.4IndexOutOfRangeException: Index was outside the bounds of the array.
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia296.91 ms0.23×1.9 MiB30.6 B645764172.2-39.530.4cold first run 334.71 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBSharpMP41.28 s1.00×4334.3 MiB70379.2 B645764172.2-109.930.3cold first run 1.46 s

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 null159.20 ms155.12 ms – 177.06 ms24.7
generated/bench/frag-bbb-1080p.mp4ffmpeg -c copy -f null184.01 ms180.63 ms – 196.26 ms38.4
generated/large/over4gb-moov-at-end.mp4ffmpeg -c copy -f null542.16 ms542.16 ms – 542.16 ms25.9
generated/mp4/h264-aac.mp4ffmpeg -c copy -f null6.28 ms6.03 ms – 7.39 ms17.5
samples/MPEG-4/video.mp4ffmpeg -c copy -f null44.89 ms44.18 ms – 48.54 ms15.0

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia28.6 µs0.72×23.6 KiB128.0 B1890.0-91.130.4cold first run 24.44 ms
generated/mp4/h264-aac.mp40.2 MiBOneAudio Mp4PacketSource39.8 µs1.00×71.6 KiB388.2 B1890.0-91.630.4cold first run 8.10 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia, length asked of the file each time32.7 µs0.82×23.7 KiB128.6 B1890.0-91.130.5cold first run 23.22 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia383.6 µs0.59×57.7 KiB8.2 B72001.9-90.330.4cold first run 25.11 ms
samples/MPEG-4/video.mp426.6 MiBOneAudio Mp4PacketSource655.0 µs1.00×97.6 KiB13.9 B72001.9-87.330.3cold first run 10.24 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia, length asked of the file each time408.8 µs0.62×57.8 KiB8.2 B72001.9-90.930.4cold first run 23.88 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia3.67 ms-62.5 KiB2.3 B2796031.1-62.830.4cold first run 33.42 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneAudio Mp4PacketSourcefail------34.430.4UnsupportedAudioFormatException: 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 time3.77 ms-62.6 KiB2.3 B2796031.1-62.730.4cold first run 32.21 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia4.24 ms-21.7 KiB0.8 B2796031.1-48.130.4cold first run 38.44 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneAudio Mp4PacketSourcefail------34.430.4UnsupportedAudioFormatException: Fragmented MP4 files (mvex boxes) are not supported.
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia, length asked of the file each time4.66 ms-21.8 KiB0.8 B2796031.1-47.030.4cold first run 40.91 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia33.48 ms0.24×46.9 KiB1.2 B393769.7-37.230.4cold first run 64.33 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBOneAudio Mp4PacketSource138.74 ms1.00×1020.5 KiB26.5 B393769.7-36.530.4cold first run 150.81 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia, length asked of the file each time33.49 ms0.24×47.0 KiB1.2 B393769.7-37.130.4cold first run 63.69 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mp4/h264-aac.mp40.2 MiBOneMedia12.2 µs0.19×23.6 KiB---293.130.3cold first run 23.21 ms
generated/mp4/h264-aac.mp40.2 MiBATL.NET117.1 µs1.80×146.6 KiB---093.930.5cold first run 35.48 ms
generated/mp4/h264-aac.mp40.2 MiBMetadataExtractor81.8 µs1.26×77.7 KiB---4889.530.4cold first run 10.82 ms
generated/mp4/h264-aac.mp40.2 MiBTagLib#65.0 µs1.00×36.7 KiB---285.830.4fastest comparator; cold first run 9.98 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia17.7 µs0.13×57.7 KiB---694.130.4cold first run 19.81 ms
samples/MPEG-4/video.mp426.6 MiBATL.NET566.2 µs4.27×151.7 KiB---092.930.4cold first run 40.11 ms
samples/MPEG-4/video.mp426.6 MiBMetadataExtractor155.8 µs1.17×91.8 KiB---9687.530.5cold first run 10.53 ms
samples/MPEG-4/video.mp426.6 MiBTagLib#132.7 µs1.00×78.1 KiB---285.530.4fastest comparator; cold first run 11.94 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBOneMedia39.0 µs0.25×62.4 KiB---397.030.3cold first run 22.98 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBATL.NET774.1 µs5.03×229.2 KiB---092.730.4cold first run 43.56 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBMetadataExtractor154.0 µs1.00×87.7 KiB---6187.830.3fastest comparator; cold first run 13.25 ms
blender/big_buck_bunny_1080p_h264.mov691.5 MiBTagLib#fail------34.330.4UnsupportedFormatException: blender/big_buck_bunny_1080p_h264.mov (taglib/mov)
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia10.1 µs0.01×20.9 KiB---389.830.5cold first run 19.53 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBATL.NET6.11 ms3.58×483.7 KiB---097.030.4cold first run 53.18 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBMetadataExtractor4.44 ms2.60×183.6 KiB---6086.430.4cold first run 15.22 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBTagLib#1.71 ms1.00×521.2 KiB---291.230.3fastest comparator; cold first run 12.82 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia29.5 µs0.42×46.4 KiB---296.530.5cold first run 22.33 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBATL.NET1.03 ms14.69×146.5 KiB---093.530.3cold first run 40.25 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBMetadataExtractor91.4 µs1.31×77.6 KiB---4887.330.5cold first run 11.43 ms
generated/large/over4gb-moov-at-end.mp44.08 GiBTagLib#70.1 µs1.00×36.0 KiB---286.130.4fastest comparator; cold first run 10.18 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.movExifTool67.39 ms67.17 ms – 69.18 ms22.8
blender/big_buck_bunny_1080p_h264.movMP4Box -info35.53 ms32.37 ms – 35.66 ms51.1
blender/big_buck_bunny_1080p_h264.movMediaInfo20.23 ms19.80 ms – 21.60 ms14.3
blender/big_buck_bunny_1080p_h264.movffprobe -show_format -show_streams10.35 ms8.63 ms – 10.74 ms23.5
generated/bench/frag-bbb-1080p.mp4ExifTool136.75 ms136.59 ms – 139.29 ms22.9
generated/bench/frag-bbb-1080p.mp4MP4Box -info38.71 ms37.75 ms – 40.96 ms52.9
generated/bench/frag-bbb-1080p.mp4MediaInfo26.70 ms25.66 ms – 26.70 ms14.0
generated/bench/frag-bbb-1080p.mp4ffprobe -show_format -show_streams43.98 ms39.98 ms – 44.64 ms37.2
generated/large/over4gb-moov-at-end.mp4ExifTool66.41 ms66.41 ms – 66.41 ms26.7
generated/large/over4gb-moov-at-end.mp4MP4Box -info37.45 ms37.45 ms – 37.45 ms50.8
generated/large/over4gb-moov-at-end.mp4MediaInfo22.49 ms22.49 ms – 22.49 ms18.0
generated/large/over4gb-moov-at-end.mp4ffprobe -show_format -show_streams18.42 ms18.42 ms – 18.42 ms21.0
generated/mp4/h264-aac.mp4ExifTool63.41 ms60.36 ms – 64.78 ms21.9
generated/mp4/h264-aac.mp4MP4Box -info33.76 ms33.13 ms – 37.08 ms50.1
generated/mp4/h264-aac.mp4MediaInfo9.45 ms9.22 ms – 9.66 ms11.3
generated/mp4/h264-aac.mp4ffprobe -show_format -show_streams5.80 ms5.24 ms – 6.91 ms16.3
samples/MPEG-4/video.mp4ExifTool100.99 ms96.71 ms – 105.81 ms33.1
samples/MPEG-4/video.mp4MP4Box -info34.79 ms33.17 ms – 36.72 ms50.1
samples/MPEG-4/video.mp4MediaInfo10.85 ms10.16 ms – 10.89 ms11.2
samples/MPEG-4/video.mp4ffprobe -show_format -show_streams4.84 ms4.82 ms – 4.99 ms13.8

mkv-demux: Matroska/WebM: read every packet

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia83.6 µs0.19×1.0 MiB3513.5 B3090.2-47.130.4cold first run 27.14 ms
generated/mkv/h264-aac.mkv0.2 MiBOneMedia, length asked of the file each time258.3 µs0.58×1.0 MiB3513.8 B3090.2-47.430.4cold first run 25.72 ms
generated/mkv/h264-aac.mkv0.2 MiBStefH Matroska443.8 µs1.00×671.5 KiB2225.3 B3090.2-90.530.4cold first run 17.97 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia2.00 ms0.27×1.0 MiB189.4 B573522.2-47.630.5cold first run 31.94 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia, length asked of the file each time3.21 ms0.43×1.0 MiB189.4 B573522.2-48.030.4cold first run 33.65 ms
matroska-test-files/test1.mkv22.3 MiBStefH Matroska7.47 ms1.00×46.0 MiB18696.7 B258222.2-111.530.5packet count differs from OneMedia's 5735; cold first run 44.15 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia2.42 ms0.22×1.0 MiB254.5 B429830.3-47.730.4cold first run 29.88 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia, length asked of the file each time3.25 ms0.30×1.0 MiB254.5 B429830.3-47.230.3cold first run 31.26 ms
matroska-test-files/test5.mkv30.3 MiBStefH Matroska10.83 ms1.00×61.6 MiB41194.4 B156830.3-159.430.4packet count differs from OneMedia's 4298; cold first run 48.06 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia106.01 ms0.28×1.0 MiB22.2 B493231125.2-39.630.4cold first run 130.54 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia, length asked of the file each time125.31 ms0.33×1.0 MiB22.2 B493231125.2-40.530.4cold first run 144.32 ms
blender/Sintel.2010.1080p.mkv1.10 GiBStefH Matroska377.15 ms1.00×2265.5 MiB93604.1 B253791125.2-1514.430.5packet count differs from OneMedia's 49323; cold first run 786.73 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia45.83 ms0.24×1.0 MiB13.7 B80000544.6-44.330.4cold first run 94.16 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia, length asked of the file each time57.33 ms0.29×1.0 MiB13.7 B80000544.6-43.830.5cold first run 110.37 ms
blender/tears_of_steel_1080p.webm544.9 MiBStefH Matroska194.74 ms1.00×1097.5 MiB44893.5 B25634544.7-1214.630.4packet count differs from OneMedia's 80000; cold first run 454.83 ms
generated/large/over4gb.mkv4.14 GiBOneMedia424.99 ms0.38×1.0 MiB16.8 B645964239.4-42.230.4cold first run 504.24 ms
generated/large/over4gb.mkv4.14 GiBOneMedia, length asked of the file each time457.41 ms0.40×1.0 MiB16.8 B645964239.4-42.430.4cold first run 523.17 ms
generated/large/over4gb.mkv4.14 GiBStefH Matroska1.13 s1.00×8516.7 MiB138250.8 B645964239.4-6394.730.3cold first run 2.81 s

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 null255.54 ms255.54 ms – 255.54 ms20.4
blender/Sintel.2010.1080p.mkvmkvextract tracks (first track)248.30 ms248.30 ms – 248.30 ms24.1
blender/tears_of_steel_1080p.webmffmpeg -c copy -f null213.02 ms206.75 ms – 243.05 ms13.9
blender/tears_of_steel_1080p.webmmkvextract tracks (first track)104.88 ms104.76 ms – 107.03 ms23.7
generated/large/over4gb.mkvffmpeg -c copy -f null677.64 ms677.64 ms – 677.64 ms24.6
generated/large/over4gb.mkvmkvextract tracks (first track)1.42 s1.42 s – 1.42 s26.7
generated/mkv/h264-aac.mkvffmpeg -c copy -f null5.81 ms5.50 ms – 6.53 ms17.4
generated/mkv/h264-aac.mkvmkvextract tracks (first track)21.25 ms21.00 ms – 22.84 ms17.4
matroska-test-files/test1.mkvffmpeg -c copy -f null21.74 ms21.64 ms – 23.17 ms14.2
matroska-test-files/test1.mkvmkvextract tracks (first track)28.99 ms27.99 ms – 29.19 ms20.8
matroska-test-files/test5.mkvffmpeg -c copy -f null39.54 ms36.09 ms – 40.33 ms23.2
matroska-test-files/test5.mkvmkvextract tracks (first track)28.36 ms28.27 ms – 29.60 ms23.7

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mkv/h264-aac.mkv0.2 MiBOneMedia8.5 µs0.70×36.1 KiB---297.030.4cold first run 16.04 ms
generated/mkv/h264-aac.mkv0.2 MiBNEbml element reader12.2 µs1.00×68.7 KiB---288.130.4cold first run 3.25 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia8.0 µs0.66×36.6 KiB---296.930.4cold first run 16.48 ms
matroska-test-files/test1.mkv22.3 MiBNEbml element reader12.1 µs1.00×68.3 KiB---292.230.4cold first run 2.92 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia11.6 µs0.69×44.2 KiB---11100.530.4cold first run 17.37 ms
matroska-test-files/test5.mkv30.3 MiBNEbml element reader16.8 µs1.00×72.8 KiB---1188.230.4cold first run 2.76 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia11.3 µs0.68×44.9 KiB---1297.330.5cold first run 18.00 ms
blender/Sintel.2010.1080p.mkv1.10 GiBNEbml element reader16.6 µs1.00×73.3 KiB---1287.930.4cold first run 2.81 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia10.3 µs0.88×43.9 KiB---296.830.4cold first run 17.98 ms
blender/tears_of_steel_1080p.webm544.9 MiBNEbml element reader11.7 µs1.00×68.2 KiB---288.430.4cold first run 2.79 ms
generated/large/over4gb.mkv4.14 GiBOneMedia8.0 µs0.69×36.1 KiB---296.930.4cold first run 16.22 ms
generated/large/over4gb.mkv4.14 GiBNEbml element reader11.6 µs1.00×68.6 KiB---288.330.4cold first run 3.20 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.mkvExifTool51.29 ms51.29 ms – 51.29 ms18.4
blender/Sintel.2010.1080p.mkvMediaInfo99.90 ms99.90 ms – 99.90 ms10.9
blender/Sintel.2010.1080p.mkvffprobe -show_format -show_streams8.12 ms8.12 ms – 8.12 ms19.1
blender/Sintel.2010.1080p.mkvmkvinfo19.78 ms19.78 ms – 19.78 ms16.5
blender/Sintel.2010.1080p.mkvmkvmerge -J30.94 ms30.94 ms – 30.94 ms21.8
blender/tears_of_steel_1080p.webmExifTool48.08 ms47.22 ms – 50.55 ms18.5
blender/tears_of_steel_1080p.webmMediaInfo20.08 ms18.42 ms – 21.03 ms11.3
blender/tears_of_steel_1080p.webmffprobe -show_format -show_streams3.88 ms3.59 ms – 4.24 ms12.3
blender/tears_of_steel_1080p.webmmkvinfo20.50 ms19.65 ms – 21.34 ms16.5
blender/tears_of_steel_1080p.webmmkvmerge -J28.71 ms27.40 ms – 29.83 ms21.2
generated/large/over4gb.mkvExifTool52.72 ms52.72 ms – 52.72 ms18.1
generated/large/over4gb.mkvMediaInfo133.95 ms133.95 ms – 133.95 ms11.3
generated/large/over4gb.mkvffprobe -show_format -show_streams64.48 ms64.48 ms – 64.48 ms24.0
generated/large/over4gb.mkvmkvinfo23.14 ms23.14 ms – 23.14 ms21.0
generated/large/over4gb.mkvmkvmerge -J52.08 ms52.08 ms – 52.08 ms34.5
generated/mkv/h264-aac.mkvExifTool50.18 ms48.82 ms – 51.79 ms18.3
generated/mkv/h264-aac.mkvMediaInfo9.27 ms9.10 ms – 9.77 ms10.5
generated/mkv/h264-aac.mkvffprobe -show_format -show_streams5.98 ms4.98 ms – 6.68 ms16.2
generated/mkv/h264-aac.mkvmkvinfo19.63 ms19.50 ms – 20.22 ms16.1
generated/mkv/h264-aac.mkvmkvmerge -J21.81 ms21.22 ms – 23.35 ms19.8
matroska-test-files/test1.mkvExifTool51.27 ms49.52 ms – 52.17 ms18.4
matroska-test-files/test1.mkvMediaInfo9.89 ms9.86 ms – 9.99 ms11.1
matroska-test-files/test1.mkvffprobe -show_format -show_streams3.69 ms3.64 ms – 3.90 ms12.7
matroska-test-files/test1.mkvmkvinfo20.72 ms20.57 ms – 21.50 ms16.5
matroska-test-files/test1.mkvmkvmerge -J27.62 ms26.75 ms – 46.64 ms22.3
matroska-test-files/test5.mkvExifTool85.04 ms80.98 ms – 85.65 ms30.3
matroska-test-files/test5.mkvMediaInfo19.27 ms18.98 ms – 19.82 ms11.3
matroska-test-files/test5.mkvffprobe -show_format -show_streams21.74 ms20.50 ms – 22.81 ms22.2
matroska-test-files/test5.mkvmkvinfo20.43 ms20.03 ms – 22.11 ms17.7
matroska-test-files/test5.mkvmkvmerge -J28.99 ms27.92 ms – 30.85 ms25.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 MiBOneMedia41.5 µs0.07×1.0 MiB5639.5 B1890.0-49.130.5cold first run 43.86 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia, movie box last41.2 µs0.07×1.0 MiB5610.2 B1890.0-48.830.4cold first run 39.42 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP4616.4 µs1.00×1.5 MiB8079.4 B1890.0-43.530.4cold first run 42.93 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia822.9 µs0.13×3.0 MiB439.3 B72002.0-84.030.3cold first run 46.73 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia, movie box last1.03 ms0.16×3.0 MiB438.5 B72002.0-69.130.5cold first run 44.96 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP46.32 ms1.00×17.5 MiB2550.9 B72002.0-93.330.4cold first run 67.41 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia22.69 ms0.35×63.0 MiB2363.3 B2796031.2-335.830.5cold first run 120.52 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia, movie box last15.66 ms0.24×63.0 MiB2363.1 B2796031.2-367.830.4cold first run 105.54 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP464.04 ms1.00×103.7 MiB3889.9 B2796031.3-424.830.4cold first run 193.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 MiBOneMedia138.6 µs0.10×1.1 MiB6375.4 B1890.0-54.630.4cold first run 61.23 ms
generated/mp4/h264-aac.mp40.2 MiBSharpMP41.45 ms1.00×2.6 MiB14536.6 B1890.0-62.630.5cold first run 81.57 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia1.57 ms0.09×3.2 MiB464.9 B72002.0-81.230.4cold first run 66.38 ms
samples/MPEG-4/video.mp426.6 MiBSharpMP417.39 ms1.00×34.7 MiB5052.3 B72002.0-109.530.4cold first run 135.94 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBOneMedia26.81 ms0.20×63.2 MiB2368.4 B2796031.2-195.430.4cold first run 132.49 ms
generated/bench/frag-bbb-1080p.mp4691.5 MiBSharpMP4133.55 ms1.00×243.3 MiB9123.1 B2796031.3-404.030.4cold first run 387.94 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 mp4131.16 ms102.42 ms – 150.54 ms52.1
generated/mp4/h264-aac.mp4ffmpeg -c copy -map 0:a:0 -f mp46.72 ms5.88 ms – 7.49 ms17.5
samples/MPEG-4/video.mp4ffmpeg -c copy -map 0:a:0 -f mp432.29 ms32.03 ms – 34.74 ms17.5

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 MiBOneMedia7.7 µs0.33×77.7 KiB79536.0 B1--96.330.4cold first run 32.75 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBATL.NET239.8 µs10.33×938.2 KiB960726.1 B1--99.930.2cold first run 53.06 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBTagLib#23.2 µs1.00×140.5 KiB143834.0 B1--95.330.3fastest comparator; cold first run 21.98 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBOneMedia8.3 µs0.37×79.2 KiB81136.0 B1--97.430.4cold first run 29.58 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBATL.NET220.6 µs9.76×1.0 MiB1073598.0 B1--99.930.3cold first run 63.47 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBTagLib#22.6 µs1.00×137.9 KiB141200.0 B1--95.430.2fastest comparator; cold first run 18.42 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBOneMedia8.7 µs0.32×80.1 KiB82064.0 B1--96.430.3cold first run 30.34 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBATL.NET238.4 µs8.75×935.8 KiB958301.2 B1--99.530.3cold first run 56.08 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBTagLib#27.3 µs1.00×138.2 KiB141554.0 B1--95.730.4fastest comparator; cold first run 23.04 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBOneMedia5.4 µs0.30×67.5 KiB69096.0 B1--96.930.3cold first run 32.40 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBATL.NET339.0 µs18.66×1.0 MiB1083778.9 B1--94.330.3cold first run 55.81 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBTagLib#18.2 µs1.00×116.8 KiB119626.0 B1--95.230.3fastest comparator; cold first run 21.27 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 MiBOneMedia5.2 µs0.39×70.3 KiB71944.0 B1--92.530.2cold first run 21.38 ms
generated/xiph-flv/flac/tags.flac0.1 MiBATL.NET132.4 µs10.08×783.3 KiB802140.7 B1--100.130.3cold first run 48.47 ms
generated/xiph-flv/flac/tags.flac0.1 MiBTagLib#13.1 µs1.00×144.1 KiB147592.0 B1--100.530.4fastest comparator; cold first run 11.23 ms
generated/xiph-flv/tagvar/flac-cover-tags.flac0.1 MiBOneMedia4.7 µs0.27×75.3 KiB77064.0 B1--92.030.3cold first run 22.58 ms
generated/xiph-flv/tagvar/flac-cover-tags.flac0.1 MiBATL.NET257.0 µs14.84×940.0 KiB962589.3 B1--97.030.3cold first run 49.93 ms
generated/xiph-flv/tagvar/flac-cover-tags.flac0.1 MiBTagLib#17.3 µs1.00×239.9 KiB245705.8 B1--97.430.2fastest comparator; cold first run 12.49 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBOneMedia5.7 µs0.33×72.9 KiB74664.0 B1--92.030.3cold first run 21.41 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBATL.NET151.5 µs8.77×813.9 KiB833468.5 B1--100.030.3cold first run 49.85 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBTagLib#17.3 µs1.00×151.0 KiB154583.9 B1--96.830.2fastest comparator; cold first run 11.57 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 MiBOneMedia82.8 µs0.57×366.2 KiB375032.0 B1--46.730.3cold first run 27.17 ms
generated/mp4/h264-aac-tags.mp40.2 MiBATL.NET1.73 ms12.01×1.9 MiB2027337.1 B1--78.330.3cold first run 66.01 ms
generated/mp4/h264-aac-tags.mp40.2 MiBTagLib#144.2 µs1.00×413.9 KiB423794.1 B1--46.830.4fastest comparator; cold first run 15.10 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBOneMedia8.8 µs0.44×137.7 KiB141016.0 B1--94.830.3cold first run 25.63 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBATL.NET200.0 µs10.07×1.1 MiB1102430.1 B1--98.430.3cold first run 64.24 ms
generated/editlist/audio-aac-priming.m4a0.0 MiBTagLib#19.9 µs1.00×142.3 KiB145761.8 B1--96.230.2fastest comparator; cold first run 13.68 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 MiBOneMedia178.5 µs0.66×533.1 KiB545856.0 B1--47.030.3cold first run 25.59 ms
generated/pcm/tagged-wav-info.wav0.5 MiBATL.NET345.6 µs1.27×1.1 MiB1181621.2 B1--47.930.3cold first run 50.29 ms
generated/pcm/tagged-wav-info.wav0.5 MiBTagLib#271.7 µs1.00×582.8 KiB596765.8 B1--41.430.2fastest comparator; cold first run 21.80 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBOneMedia70.2 µs0.44×863.6 KiB884321.0 B1--62.830.2cold first run 26.77 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBATL.NET653.5 µs4.12×1.8 MiB1902394.9 B1--87.830.3cold first run 55.30 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBTagLib#158.6 µs1.00×911.0 KiB932897.0 B1--46.630.3fastest comparator; cold first run 20.90 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBOneMedia181.1 µs0.66×533.1 KiB545856.0 B1--46.830.3cold first run 23.80 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBATL.NET344.6 µs1.25×1.1 MiB1181618.9 B1--48.930.3cold first run 52.24 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBTagLib#274.7 µs1.00×582.8 KiB596769.2 B1--42.030.3fastest comparator; cold first run 21.87 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.2 MiBOneMedia111.3 µs0.90×306.8 KiB314192.0 B1--51.030.3cold first run 50.19 ms
generated/mkv/h264-two-audio-tags.mkv0.2 MiBATL.NETfail------38.730.3NullReferenceException: Object reference not set to an instance of an object.
generated/mkv/h264-two-audio-tags.mkv0.2 MiBTagLib#124.3 µs1.00×323.1 KiB330810.9 B1--41.930.4cold first run 11.94 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia1.82 ms-22.3 MiB23393024.0 B1--210.830.3cold first run 66.85 ms
matroska-test-files/test1.mkv22.3 MiBATL.NETfail------83.030.3NullReferenceException: Object reference not set to an instance of an object.
matroska-test-files/test1.mkv22.3 MiBTagLib#fail------79.630.3InvalidOperationException: Invalid EBML format Read

remux-mem: Remux of the files past 4 GiB into MP4 and Matroska, output to disk: peak resident memory

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia to MP42.27 s-2.9 MiB46.3 B645764173.2-65.930.4cold first run 2.34 s
generated/large/over4gb-moov-at-end.mp44.08 GiBOneMedia to Matroska1.67 s-22.0 MiB357.9 B645764172.9-69.930.4cold first run 1.76 s
generated/large/over4gb.mkv4.14 GiBOneMedia to MP44.79 s-6.4 MiB104.4 B645964240.6-89.130.4cold first run 4.91 s
generated/large/over4gb.mkv4.14 GiBOneMedia to Matroska4.21 s-25.4 MiB412.4 B645964240.1-97.530.5cold first run 4.39 s

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

FileToolWall medianWall min – maxPeak MiBNote
generated/large/over4gb-moov-at-end.mp4ffmpeg -c copy -f matroska2.90 s2.90 s – 2.90 s32.2
generated/large/over4gb.mkvffmpeg -c copy -f matroska3.09 s3.09 s – 3.09 s31.9

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 MiBOneMedia166.91 ms-1.8 MiB1838312.0 B10.2-63.330.4cold first run 301.04 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 mp46.70 ms6.46 ms – 7.44 ms17.4

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 MiBOneMedia170.2 µs-1.3 MiB4340.8 B3090.2-68.530.4cold first run 42.06 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia6.64 ms-9.2 MiB1674.4 B573522.2-65.630.5cold first run 52.06 ms
matroska-test-files/test5.mkv30.3 MiBOneMedia4.26 ms-5.1 MiB1232.4 B429830.3-75.230.5cold first run 52.06 ms
blender/Sintel.2010.1080p.mkv1.10 GiBOneMedia139.66 ms-33.2 MiB705.4 B493231125.2-83.230.4cold first run 240.19 ms
blender/tears_of_steel_1080p.webm544.9 MiBOneMedia71.50 ms-33.4 MiB437.3 B80000544.6-100.830.4cold first run 183.45 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 matroska955.98 ms955.98 ms – 955.98 ms48.1
blender/Sintel.2010.1080p.mkvmkvmerge384.60 ms384.60 ms – 384.60 ms73.5exit 1
blender/tears_of_steel_1080p.webmffmpeg -c copy -f matroska225.71 ms221.54 ms – 335.84 ms20.0
blender/tears_of_steel_1080p.webmmkvmerge210.27 ms201.93 ms – 215.83 ms46.4exit 1
generated/mkv/h264-aac.mkvffmpeg -c copy -f matroska7.11 ms5.94 ms – 7.28 ms17.4
generated/mkv/h264-aac.mkvmkvmerge21.93 ms21.37 ms – 24.12 ms20.7exit 1
matroska-test-files/test1.mkvffmpeg -c copy -f matroska37.27 ms34.52 ms – 39.02 ms16.4
matroska-test-files/test1.mkvmkvmerge44.68 ms43.74 ms – 45.96 ms48.3exit 1
matroska-test-files/test5.mkvffmpeg -c copy -f matroska55.32 ms53.90 ms – 63.88 ms26.0
matroska-test-files/test5.mkvmkvmerge57.57 ms56.81 ms – 62.07 ms65.9exit 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 MiBOneMedia24.2 µs0.46×35.5 KiB----95.730.4cold first run 35.38 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBATL.NET70.3 µs1.34×285.5 KiB----92.830.4cold first run 34.62 ms
generated/audio-es/tagged/id3v22-basic.mp30.0 MiBTagLib#52.4 µs1.00×34.1 KiB----86.130.4fastest comparator; cold first run 17.52 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBOneMedia29.1 µs0.45×42.5 KiB----95.930.4cold first run 32.68 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBATL.NET111.7 µs1.74×296.0 KiB----92.830.3cold first run 40.45 ms
generated/audio-es/tagged/id3v23-and-v1.mp30.0 MiBTagLib#64.2 µs1.00×33.0 KiB----86.130.5fastest comparator; cold first run 14.96 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBOneMedia23.5 µs0.44×36.0 KiB----95.730.5cold first run 31.51 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBATL.NET73.8 µs1.37×285.5 KiB----92.730.4cold first run 37.86 ms
generated/audio-es/tagged/id3v24-basic.mp30.0 MiBTagLib#53.8 µs1.00×37.9 KiB----86.430.5fastest comparator; cold first run 15.92 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBOneMedia18.5 µs0.46×25.8 KiB----95.930.4cold first run 29.28 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBATL.NET48.5 µs1.21×274.1 KiB----92.330.4cold first run 32.72 ms
generated/audio-es/tagged/id3v24-chapters.mp30.0 MiBTagLib#40.2 µs1.00×26.3 KiB----85.730.5fastest comparator; cold first run 16.52 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBOneMedia23.6 µs0.47×32.1 KiB----95.230.4cold first run 31.90 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBATL.NET89.7 µs1.78×348.0 KiB----93.130.5cold first run 37.45 ms
generated/audio-es/tagged/apev2-only.mp30.0 MiBTagLib#50.5 µs1.00×30.6 KiB----90.830.4fastest comparator; cold first run 15.23 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBOneMedia37.0 µs0.60×52.2 KiB----96.330.4cold first run 33.68 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBATL.NET139.7 µs2.28×308.8 KiB----93.030.4cold first run 43.75 ms
generated/audio-es/tagged/id3v24-apev2-v1.mp30.0 MiBTagLib#61.3 µs1.00×46.9 KiB----87.030.4fastest comparator; cold first run 15.03 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBOneMedia14.9 µs0.63×20.5 KiB----91.230.4cold first run 26.82 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBATL.NET45.4 µs1.92×334.6 KiB----92.330.5cold first run 31.44 ms
generated/audio-es/mp3/long-60s.mp30.9 MiBTagLib#23.6 µs1.00×14.7 KiB----85.630.4fastest comparator; cold first run 13.54 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.mp3ExifTool49.33 ms48.44 ms – 53.91 ms18.4
generated/audio-es/mp3/long-60s.mp3MediaInfo5.74 ms5.38 ms – 5.76 ms9.4
generated/audio-es/mp3/long-60s.mp3ffprobe -show_format -show_streams3.46 ms2.73 ms – 4.56 ms11.8
generated/audio-es/tagged/apev2-only.mp3ExifTool51.62 ms51.43 ms – 52.05 ms18.4
generated/audio-es/tagged/apev2-only.mp3MediaInfo6.79 ms6.64 ms – 7.67 ms13.8
generated/audio-es/tagged/apev2-only.mp3ffprobe -show_format -show_streams4.43 ms2.73 ms – 5.30 ms11.8
generated/audio-es/tagged/id3v22-basic.mp3ExifTool50.78 ms48.86 ms – 52.43 ms18.6
generated/audio-es/tagged/id3v22-basic.mp3MediaInfo7.68 ms7.29 ms – 8.00 ms13.7
generated/audio-es/tagged/id3v22-basic.mp3ffprobe -show_format -show_streams5.08 ms4.60 ms – 6.22 ms11.9
generated/audio-es/tagged/id3v23-and-v1.mp3ExifTool52.44 ms50.78 ms – 53.27 ms18.4
generated/audio-es/tagged/id3v23-and-v1.mp3MediaInfo5.51 ms5.10 ms – 6.77 ms9.4
generated/audio-es/tagged/id3v23-and-v1.mp3ffprobe -show_format -show_streams5.43 ms4.91 ms – 6.84 ms11.8
generated/audio-es/tagged/id3v24-apev2-v1.mp3ExifTool58.26 ms55.80 ms – 58.52 ms21.1
generated/audio-es/tagged/id3v24-apev2-v1.mp3MediaInfo7.17 ms6.94 ms – 7.97 ms13.9
generated/audio-es/tagged/id3v24-apev2-v1.mp3ffprobe -show_format -show_streams5.52 ms5.00 ms – 7.79 ms11.8
generated/audio-es/tagged/id3v24-basic.mp3ExifTool57.84 ms56.23 ms – 58.99 ms21.1
generated/audio-es/tagged/id3v24-basic.mp3MediaInfo7.34 ms6.90 ms – 7.37 ms13.7
generated/audio-es/tagged/id3v24-basic.mp3ffprobe -show_format -show_streams5.00 ms4.92 ms – 6.86 ms11.9
generated/audio-es/tagged/id3v24-chapters.mp3ExifTool51.66 ms48.79 ms – 52.45 ms18.4
generated/audio-es/tagged/id3v24-chapters.mp3MediaInfo5.61 ms5.28 ms – 5.84 ms9.4
generated/audio-es/tagged/id3v24-chapters.mp3ffprobe -show_format -show_streams5.18 ms4.29 ms – 5.27 ms11.8

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/xiph-flv/flac/tags.flac0.1 MiBOneMedia15.2 µs0.72×9.0 KiB----90.530.4cold first run 26.24 ms
generated/xiph-flv/flac/tags.flac0.1 MiBATL.NET38.9 µs1.86×89.3 KiB----93.730.4cold first run 29.97 ms
generated/xiph-flv/flac/tags.flac0.1 MiBTagLib#20.9 µs1.00×19.9 KiB----85.830.4fastest comparator; cold first run 8.79 ms
generated/xiph-flv/flac/cover.flac0.1 MiBOneMedia19.3 µs0.70×18.0 KiB----94.730.5cold first run 25.67 ms
generated/xiph-flv/flac/cover.flac0.1 MiBATL.NET43.7 µs1.59×90.1 KiB----92.230.3cold first run 30.46 ms
generated/xiph-flv/flac/cover.flac0.1 MiBTagLib#27.4 µs1.00×72.8 KiB----89.830.5fastest comparator; cold first run 9.61 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBOneMedia17.8 µs0.78×9.4 KiB----90.530.4cold first run 23.77 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBATL.NET42.6 µs1.87×98.8 KiB----92.930.4cold first run 31.72 ms
generated/xiph-flv/tagvar/flac-rich.flac0.1 MiBTagLib#22.8 µs1.00×23.4 KiB----85.730.4fastest comparator; cold first run 8.57 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBOneMedia18.7 µs0.38×22.2 KiB----92.830.3cold first run 29.68 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBATL.NET54.0 µs1.10×168.4 KiB----92.530.4cold first run 30.52 ms
generated/xiph-flv/ogg/vorbis-tags.ogg0.0 MiBTagLib#48.9 µs1.00×33.9 KiB----86.030.4fastest comparator; cold first run 9.84 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBOneMedia19.3 µs0.56×22.9 KiB----93.730.5cold first run 30.68 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBATL.NET65.8 µs1.90×178.0 KiB----92.730.4cold first run 33.14 ms
generated/xiph-flv/tagvar/vorbis-rich.ogg0.0 MiBTagLib#34.7 µs1.00×37.5 KiB----89.730.4fastest comparator; cold first run 10.27 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBOneMedia12.5 µs0.53×12.2 KiB----91.930.4cold first run 28.38 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBATL.NET69.5 µs2.97×162.0 KiB----92.430.4cold first run 31.95 ms
generated/xiph-flv/ogg/opus-tags.opus0.0 MiBTagLib#23.4 µs1.00×23.8 KiB----90.130.5fastest comparator; cold first run 10.03 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBOneMedia10.5 µs0.37×7.9 KiB----92.030.4cold first run 31.40 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBATL.NET54.5 µs1.94×151.5 KiB----92.530.4cold first run 30.35 ms
generated/xiph-flv/tagvar/opus-unicode.opus0.0 MiBTagLib#28.1 µs1.00×16.9 KiB----86.030.4fastest comparator; cold first run 10.00 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBOneMedia25.5 µs0.54×26.2 KiB----96.630.4cold first run 30.64 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBATL.NET47.9 µs1.02×157.5 KiB----92.630.4cold first run 31.16 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBTagLib#46.9 µs1.00×33.5 KiB----85.930.4fastest comparator; cold first run 9.52 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.oggExifTool51.66 ms49.32 ms – 52.56 ms18.6
blender/big_buck_bunny_480p_stereo.oggMediaInfo7.19 ms6.97 ms – 7.24 ms10.2
blender/big_buck_bunny_480p_stereo.oggffprobe -show_format -show_streams6.09 ms5.03 ms – 6.52 ms14.8
generated/xiph-flv/flac/cover.flacExifTool48.43 ms47.09 ms – 50.91 ms18.8
generated/xiph-flv/flac/cover.flacMediaInfo7.54 ms6.51 ms – 7.62 ms14.0
generated/xiph-flv/flac/cover.flacffprobe -show_format -show_streams2.87 ms2.13 ms – 3.71 ms11.3
generated/xiph-flv/flac/tags.flacExifTool50.18 ms48.68 ms – 50.96 ms18.4
generated/xiph-flv/flac/tags.flacMediaInfo5.48 ms5.35 ms – 5.77 ms9.2
generated/xiph-flv/flac/tags.flacffprobe -show_format -show_streams2.51 ms2.47 ms – 2.72 ms11.1
generated/xiph-flv/ogg/opus-tags.opusExifTool48.26 ms48.13 ms – 52.66 ms18.4
generated/xiph-flv/ogg/opus-tags.opusMediaInfo5.24 ms5.23 ms – 5.70 ms9.4
generated/xiph-flv/ogg/opus-tags.opusffprobe -show_format -show_streams2.94 ms2.74 ms – 3.29 ms11.8
generated/xiph-flv/ogg/vorbis-tags.oggExifTool49.73 ms47.38 ms – 50.05 ms18.6
generated/xiph-flv/ogg/vorbis-tags.oggMediaInfo5.57 ms5.56 ms – 5.76 ms9.5
generated/xiph-flv/ogg/vorbis-tags.oggffprobe -show_format -show_streams3.20 ms2.68 ms – 3.47 ms11.8
generated/xiph-flv/tagvar/flac-rich.flacExifTool49.88 ms48.50 ms – 52.76 ms18.5
generated/xiph-flv/tagvar/flac-rich.flacMediaInfo5.64 ms5.40 ms – 5.68 ms9.1
generated/xiph-flv/tagvar/flac-rich.flacffprobe -show_format -show_streams3.11 ms2.52 ms – 4.37 ms11.1
generated/xiph-flv/tagvar/opus-unicode.opusExifTool49.58 ms47.45 ms – 49.81 ms18.6
generated/xiph-flv/tagvar/opus-unicode.opusMediaInfo5.48 ms5.40 ms – 5.76 ms9.4
generated/xiph-flv/tagvar/opus-unicode.opusffprobe -show_format -show_streams2.74 ms2.66 ms – 2.84 ms11.8
generated/xiph-flv/tagvar/vorbis-rich.oggExifTool48.55 ms47.69 ms – 52.19 ms18.4
generated/xiph-flv/tagvar/vorbis-rich.oggMediaInfo5.61 ms5.52 ms – 6.06 ms9.4
generated/xiph-flv/tagvar/vorbis-rich.oggffprobe -show_format -show_streams3.86 ms3.11 ms – 4.67 ms11.8

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/xiph-flv/flac/bs4096.flac0.5 MiBOneMedia897.0 µs-65.5 KiB1426.6 B470.5-88.630.4cold first run 18.69 ms
generated/xiph-flv/ogg/opus-stereo-64k.opus0.0 MiBOneMedia89.8 µs-21.5 KiB109.7 B2010.0-90.830.4cold first run 21.59 ms
generated/xiph-flv/ogg/vorbis-stereo-q5.ogg0.0 MiBOneMedia86.3 µs-34.2 KiB201.1 B1740.0-91.830.3cold first run 23.08 ms
generated/xiph-flv/ogg/theora-vorbis.ogv0.2 MiBOneMedia476.9 µs-42.0 KiB146.5 B2940.2-91.930.4cold first run 24.23 ms
generated/xiph-flv/flv/h264-aac.flv0.2 MiBOneMedia44.7 µs-16.7 KiB58.0 B2940.2-94.630.4cold first run 18.55 ms
generated/xiph-flv/flv/mp3-44k.flv0.1 MiBOneMedia24.2 µs-7.1 KiB46.8 B1550.1-92.430.4cold first run 14.47 ms
blender/big_buck_bunny_480p_stereo.ogg159.1 MiBOneMedia292.05 ms-731.0 KiB14.9 B50290157.5-44.930.4cold first run 381.36 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 null207.64 ms207.09 ms – 256.87 ms15.8
generated/xiph-flv/flac/bs4096.flacffmpeg -c copy -f null3.73 ms3.56 ms – 3.87 ms12.5
generated/xiph-flv/flv/h264-aac.flvffmpeg -c copy -f null7.09 ms6.42 ms – 9.76 ms19.4
generated/xiph-flv/flv/mp3-44k.flvffmpeg -c copy -f null4.45 ms4.10 ms – 4.79 ms14.8
generated/xiph-flv/ogg/opus-stereo-64k.opusffmpeg -c copy -f null4.57 ms3.60 ms – 5.00 ms12.8
generated/xiph-flv/ogg/theora-vorbis.ogvffmpeg -c copy -f null5.47 ms5.42 ms – 5.74 ms14.6
generated/xiph-flv/ogg/vorbis-stereo-q5.oggffmpeg -c copy -f null3.68 ms3.24 ms – 3.87 ms13.1

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 MiBOneMedia23.3 µs0.57×75.3 KiB----98.630.4cold first run 34.75 ms
generated/asf/wmv2-wmav2-tagged.wmv0.4 MiBATL.NET197.9 µs4.86×598.1 KiB----92.530.4cold first run 35.53 ms
generated/asf/wmv2-wmav2-tagged.wmv0.4 MiBTagLib#40.7 µs1.00×27.6 KiB----89.530.4fastest comparator; cold first run 8.71 ms
generated/asf/wmav2-tagged.wma0.0 MiBOneMedia23.7 µs0.62×66.2 KiB----103.830.5cold first run 33.86 ms
generated/asf/wmav2-tagged.wma0.0 MiBATL.NET125.8 µs3.27×444.9 KiB----93.330.4cold first run 34.70 ms
generated/asf/wmav2-tagged.wma0.0 MiBTagLib#38.4 µs1.00×26.1 KiB----89.530.4fastest comparator; cold first run 9.03 ms
generated/asf/wmav2-cover.wma0.1 MiBOneMedia16.5 µs0.50×70.5 KiB----103.630.4cold first run 37.89 ms
generated/asf/wmav2-cover.wma0.1 MiBATL.NET96.9 µs2.92×424.1 KiB----92.930.5cold first run 31.39 ms
generated/asf/wmav2-cover.wma0.1 MiBTagLib#33.2 µs1.00×20.3 KiB----85.630.4fastest comparator; cold first run 8.87 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBOneMedia16.9 µs0.56×61.6 KiB----98.730.5cold first run 37.16 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBATL.NET102.6 µs3.41×424.9 KiB----92.830.4cold first run 31.54 ms
generated/asf/mp3-tagged-unicode.wma0.1 MiBTagLib#30.1 µs1.00×18.4 KiB----90.030.4fastest comparator; cold first run 8.93 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBOneMedia32.4 µs0.46×82.3 KiB----99.430.4cold first run 34.41 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBATL.NET272.4 µs3.86×713.1 KiB----93.530.4cold first run 38.29 ms
samples/ASF/wma_with_WmPicture.wma2.3 MiBTagLib#70.5 µs1.00×166.0 KiB----90.030.4fastest comparator; cold first run 9.82 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBOneMedia37.3 µs0.65×129.1 KiB----104.430.4cold first run 41.25 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBATL.NET229.7 µs4.02×813.3 KiB----93.230.4cold first run 34.16 ms
samples/ASF/wma_with_ID3_APIC.wma2.2 MiBTagLib#57.2 µs1.00×73.3 KiB----90.030.4fastest comparator; cold first run 9.06 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.wmaExifTool81.71 ms78.19 ms – 82.04 ms30.4
generated/asf/mp3-tagged-unicode.wmaMediaInfo5.76 ms5.38 ms – 6.10 ms9.4
generated/asf/mp3-tagged-unicode.wmaffprobe -show_format -show_streams3.15 ms2.64 ms – 4.19 ms11.8
generated/asf/wmav2-cover.wmaExifTool79.06 ms77.09 ms – 80.47 ms30.7
generated/asf/wmav2-cover.wmaMediaInfo9.38 ms9.35 ms – 9.49 ms10.9
generated/asf/wmav2-cover.wmaffprobe -show_format -show_streams3.66 ms3.20 ms – 5.99 ms12.1
generated/asf/wmav2-tagged.wmaExifTool82.24 ms79.54 ms – 86.09 ms30.6
generated/asf/wmav2-tagged.wmaMediaInfo5.86 ms5.77 ms – 5.97 ms9.2
generated/asf/wmav2-tagged.wmaffprobe -show_format -show_streams3.50 ms2.99 ms – 4.66 ms11.8
generated/asf/wmv2-wmav2-tagged.wmvExifTool86.79 ms80.29 ms – 89.02 ms30.6
generated/asf/wmv2-wmav2-tagged.wmvMediaInfo10.00 ms9.97 ms – 10.01 ms10.9
generated/asf/wmv2-wmav2-tagged.wmvffprobe -show_format -show_streams4.13 ms3.38 ms – 5.39 ms13.2
samples/ASF/wma_with_ID3_APIC.wmaExifTool85.15 ms80.51 ms – 87.74 ms30.6
samples/ASF/wma_with_ID3_APIC.wmaMediaInfo5.34 ms5.24 ms – 5.72 ms9.1
samples/ASF/wma_with_ID3_APIC.wmaffprobe -show_format -show_streams3.30 ms3.06 ms – 3.54 ms12.1
samples/ASF/wma_with_WmPicture.wmaExifTool84.61 ms80.86 ms – 86.50 ms30.7
samples/ASF/wma_with_WmPicture.wmaMediaInfo7.74 ms7.74 ms – 7.76 ms13.7
samples/ASF/wma_with_WmPicture.wmaffprobe -show_format -show_streams3.28 ms3.07 ms – 3.41 ms12.1

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/pcm/tagged-wav-info.wav0.5 MiBOneMedia21.1 µs0.51×9.7 KiB----96.130.3cold first run 23.52 ms
generated/pcm/tagged-wav-info.wav0.5 MiBATL.NET41.4 µs1.00×84.4 KiB----92.230.4fastest comparator; cold first run 29.36 ms
generated/pcm/tagged-wav-info.wav0.5 MiBTagLib#56.7 µs1.37×30.9 KiB----90.930.4cold first run 16.56 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBOneMedia24.7 µs0.44×13.7 KiB----93.330.4cold first run 27.37 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBATL.NET114.0 µs2.02×148.9 KiB----92.630.4cold first run 31.38 ms
generated/pcm/tagged-wav-bext.wav0.8 MiBTagLib#56.3 µs1.00×31.2 KiB----86.930.4fastest comparator; cold first run 17.27 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBOneMedia20.7 µs0.56×9.7 KiB----92.230.3cold first run 23.54 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBATL.NET37.3 µs1.00×84.4 KiB----92.230.4fastest comparator; cold first run 30.23 ms
generated/pcm/tagged-wav-id3.wav0.5 MiBTagLib#55.6 µs1.49×30.9 KiB----90.930.4cold first run 16.72 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBOneMedia10.0 µs0.74×3.6 KiB----91.130.4cold first run 21.23 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBATL.NET13.5 µs1.00×79.9 KiB----101.130.4fastest comparator; cold first run 25.52 ms
generated/pcm/wav-pcm_s16le-mono44k.wav0.3 MiBTagLib#43.6 µs3.24×26.2 KiB----86.730.4cold first run 14.82 ms
generated/pcm/tagged-aiff.aiff0.5 MiBOneMedia14.4 µs0.57×6.3 KiB----95.330.3cold first run 21.46 ms
generated/pcm/tagged-aiff.aiff0.5 MiBATL.NET31.9 µs1.25×78.6 KiB----92.030.4cold first run 25.46 ms
generated/pcm/tagged-aiff.aiff0.5 MiBTagLib#25.5 µs1.00×9.4 KiB----85.330.4fastest comparator; cold first run 6.61 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBOneMedia20.4 µs0.57×13.8 KiB----91.830.5cold first run 27.73 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBATL.NET79.2 µs2.21×224.0 KiB----92.930.4cold first run 36.88 ms
generated/pcm/tagged-aiff-id3.aiff0.5 MiBTagLib#35.9 µs1.00×17.8 KiB----85.630.4fastest comparator; cold first run 9.47 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBOneMedia10.2 µs0.62×3.6 KiB----89.230.4cold first run 22.44 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBATL.NET19.8 µs1.21×75.5 KiB----96.430.5cold first run 24.53 ms
generated/pcm/aiff-pcm_s16be-mono44k.aiff0.3 MiBTagLib#16.5 µs1.00×7.3 KiB----85.430.6fastest comparator; cold first run 6.90 ms
generated/pcm/tagged-caf.caf0.5 MiBOneMedia12.4 µs0.26×7.2 KiB----95.630.3cold first run 21.62 ms
generated/pcm/tagged-caf.caf0.5 MiBATL.NET46.8 µs1.00×86.0 KiB----91.930.4cold first run 28.55 ms
generated/pcm/tagged-caf.caf0.5 MiBTagLib#fail------34.330.4UnsupportedFormatException: 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.aiffExifTool81.51 ms76.99 ms – 83.18 ms30.6
generated/pcm/aiff-pcm_s16be-mono44k.aiffMediaInfo6.20 ms5.79 ms – 6.86 ms9.5
generated/pcm/aiff-pcm_s16be-mono44k.aiffffprobe -show_format -show_streams3.18 ms2.41 ms – 4.14 ms11.0
generated/pcm/tagged-aiff-id3.aiffExifTool88.43 ms85.06 ms – 88.63 ms31.8
generated/pcm/tagged-aiff-id3.aiffMediaInfo7.52 ms7.38 ms – 7.71 ms9.5
generated/pcm/tagged-aiff-id3.aiffffprobe -show_format -show_streams2.61 ms2.24 ms – 2.95 ms11.0
generated/pcm/tagged-aiff.aiffExifTool78.66 ms76.79 ms – 81.30 ms30.7
generated/pcm/tagged-aiff.aiffMediaInfo7.17 ms7.02 ms – 7.36 ms9.7
generated/pcm/tagged-aiff.aiffffprobe -show_format -show_streams2.60 ms2.16 ms – 2.67 ms11.0
generated/pcm/tagged-caf.cafExifTool54.52 ms53.07 ms – 55.31 ms19.6exit 1
generated/pcm/tagged-caf.cafMediaInfo5.51 ms5.34 ms – 5.69 ms9.2
generated/pcm/tagged-caf.cafffprobe -show_format -show_streams2.62 ms2.42 ms – 3.27 ms10.7
generated/pcm/tagged-wav-bext.wavExifTool46.70 ms45.87 ms – 48.51 ms18.4
generated/pcm/tagged-wav-bext.wavMediaInfo15.34 ms15.04 ms – 15.40 ms10.9
generated/pcm/tagged-wav-bext.wavffprobe -show_format -show_streams2.38 ms2.37 ms – 2.93 ms11.5
generated/pcm/tagged-wav-id3.wavExifTool51.61 ms48.36 ms – 53.06 ms18.4
generated/pcm/tagged-wav-id3.wavMediaInfo7.53 ms6.84 ms – 7.61 ms9.4
generated/pcm/tagged-wav-id3.wavffprobe -show_format -show_streams17.37 ms17.07 ms – 17.67 ms11.5
generated/pcm/tagged-wav-info.wavExifTool48.36 ms48.20 ms – 51.67 ms18.1
generated/pcm/tagged-wav-info.wavMediaInfo7.09 ms6.86 ms – 7.88 ms9.5
generated/pcm/tagged-wav-info.wavffprobe -show_format -show_streams17.69 ms17.31 ms – 20.44 ms11.6
generated/pcm/wav-pcm_s16le-mono44k.wavExifTool49.02 ms47.17 ms – 51.08 ms18.4
generated/pcm/wav-pcm_s16le-mono44k.wavMediaInfo6.77 ms6.13 ms – 6.89 ms9.4
generated/pcm/wav-pcm_s16le-mono44k.wavffprobe -show_format -show_streams9.20 ms9.17 ms – 11.77 ms11.5

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia47.8 µs-22.9 KiB108.6 B2160.4-91.630.4cold first run 23.74 ms
samples/avi/AV36_1.AVI9.3 MiBOneMedia509.5 µs-22.8 KiB23.6 B9888.8-91.230.4cold first run 24.72 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia3.32 ms-22.4 KiB2.5 B914744.5-51.230.4cold first run 29.68 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBOneMedia11.26 ms-19.3 KiB6.6 B2984179.9-46.130.4cold first run 35.96 ms
generated/avi/large/odml-4p6gb.avi4.33 GiBOneMedia383.92 ms-20.4 KiB0.7 B287504431.2-38.530.4cold first run 414.99 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/avi/large/odml-4p6gb.aviffmpeg -c copy -f null532.70 ms532.70 ms – 532.70 ms14.4
generated/avi/tagged-mpeg4-mp3.aviffmpeg -c copy -f null4.98 ms3.95 ms – 6.06 ms13.8
samples/avi/AV36_1.AVIffmpeg -c copy -f null10.25 ms10.21 ms – 10.27 ms12.7
samples/avi/DV-type1/dvformat2.aviffmpeg -c copy -f null38.54 ms38.37 ms – 48.93 ms13.7
samples/avi/GoneNutty.aviffmpeg -c copy -f null84.05 ms52.01 ms – 85.03 ms14.4

mpeg-demux: MPEG-TS/M2TS/PS: read every packet

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/mpeg/ts/mpeg2-interlaced.ts1.1 MiBOneMedia345.7 µs-254.6 KiB976.6 B2671.1-96.130.4cold first run 22.42 ms
generated/mpeg/ts/h264-high-50fps.ts0.6 MiBOneMedia220.8 µs-223.6 KiB588.6 B3890.5-100.330.4cold first run 28.48 ms
generated/mpeg/m2ts/mpeg2-ac3.m2ts0.9 MiBOneMedia272.7 µs-254.6 KiB1158.5 B2250.8-97.530.4cold first run 22.63 ms
generated/mpeg/ps/dvd-ac3-ntsc.vob2.2 MiBOneMedia456.8 µs-699.3 KiB2722.6 B2632.2-61.430.4cold first run 20.71 ms
generated/mpeg/ps/mpeg2-svcd.mpg1.2 MiBOneMedia285.4 µs-600.2 KiB2243.0 B2741.2-57.630.4cold first run 19.72 ms
samples/mpeg/HD-h264.ts120.7 MiBOneMedia36.60 ms-17.1 MiB4489.9 B4002117.2-88.630.4cold first run 129.64 ms
generated/mpeg/large/ts-2gb.ts2.21 GiBOneMedia604.01 ms-1.5 MiB18.1 B877382204.5-48.630.4cold first run 749.04 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/mpeg/large/ts-2gb.tsffmpeg -c copy -f null962.05 ms962.05 ms – 962.05 ms24.2
generated/mpeg/m2ts/mpeg2-ac3.m2tsffmpeg -c copy -f null104.74 ms103.12 ms – 114.31 ms12.8exit 139
generated/mpeg/ps/dvd-ac3-ntsc.vobffmpeg -c copy -f null8.71 ms8.32 ms – 9.20 ms16.0
generated/mpeg/ps/mpeg2-svcd.mpgffmpeg -c copy -f null7.08 ms6.74 ms – 7.17 ms14.6
generated/mpeg/ts/h264-high-50fps.tsffmpeg -c copy -f null105.52 ms102.05 ms – 106.47 ms12.8exit 139
generated/mpeg/ts/mpeg2-interlaced.tsffmpeg -c copy -f null96.40 ms95.68 ms – 109.74 ms12.8exit 139
samples/mpeg/HD-h264.tsffmpeg -c copy -f null92.14 ms83.01 ms – 95.74 ms35.6

asf-demux: ASF/WMV/WMA: read every packet

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/asf/wmv2-wmav2.wmv0.4 MiBOneMedia54.0 µs-73.9 KiB353.6 B2140.4-94.330.4cold first run 25.50 ms
generated/asf/wmv2-pcm.asf0.8 MiBOneMedia89.9 µs-65.3 KiB269.8 B2480.7-90.830.4cold first run 25.94 ms
generated/asf/msmpeg4v3-mp3.asf0.4 MiBOneMedia58.1 µs-81.4 KiB289.4 B2880.4-94.330.4cold first run 27.84 ms
generated/large/over2gb.wmv2.17 GiBOneMedia243.02 ms-2.0 MiB93.0 B230052203.5-39.930.3cold first run 334.74 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/asf/msmpeg4v3-mp3.asfffmpeg -c copy -f null5.66 ms4.69 ms – 5.94 ms14.2
generated/asf/wmv2-pcm.asfffmpeg -c copy -f null4.65 ms4.59 ms – 4.81 ms13.9
generated/asf/wmv2-wmav2.wmvffmpeg -c copy -f null4.68 ms4.63 ms – 5.22 ms14.2
generated/large/over2gb.wmvffmpeg -c copy -f null270.66 ms270.66 ms – 270.66 ms19.4

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 MiBOneMedia61.3 µs-1.1 MiB562204.9 B20.2-58.630.4cold first run 21.64 ms
matroska-test-files/test1.mkv22.3 MiBOneMedia10.71 ms-63.6 MiB33320804.0 B222.3-168.330.4cold first run 46.61 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia233.6 µs-1.0 MiB550488.0 B20.4-54.930.5cold first run 12.02 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia33.02 ms-129.3 MiB67799420.0 B244.7-400.130.4cold first run 72.61 ms
generated/mp4/h264-aac.mp40.2 MiBOneMedia61.6 µs-1.1 MiB552427.0 B20.2-60.030.4cold first run 15.07 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia13.76 ms-63.2 MiB11048035.3 B626.6-150.630.5cold first run 48.46 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.33 ms-740.7 KiB379230.9 B20.2-63.030.4cold first run 74.90 ms
samples/MPEG-4/video.mp426.6 MiBOneMedia21.20 ms-4.0 MiB81654.1 B5225.8-73.330.5cold first run 114.94 ms
blender/elephantsdream_teaser.mp429.2 MiBOneMedia22.59 ms-9.2 MiB401225.3 B2429.2-75.730.4cold first run 101.39 ms

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

FileSizeImplementationMedianRatioAlloc / runAlloc / packetPacketsPayload MiBTracks or tagsPeak MiBBaseline MiBNote
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBOneMedia18.2 µs0.62×22.9 KiB---292.030.4cold first run 20.47 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBATL.NETfail------37.330.4NullReferenceException: Object reference not set to an instance of an object.
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBMetadataExtractor29.2 µs1.00×67.9 KiB---1190.030.4fastest comparator; cold first run 8.31 ms
generated/avi/tagged-mpeg4-mp3.avi0.4 MiBTagLib#84.2 µs2.88×77.6 KiB---286.330.5cold first run 17.97 ms
samples/avi/AV36_1.AVI9.3 MiBOneMedia18.7 µs0.67×22.8 KiB---292.030.4cold first run 20.30 ms
samples/avi/AV36_1.AVI9.3 MiBATL.NETfail------37.330.3NullReferenceException: Object reference not set to an instance of an object.
samples/avi/AV36_1.AVI9.3 MiBMetadataExtractor27.8 µs1.00×67.8 KiB---1189.930.4fastest comparator; cold first run 8.66 ms
samples/avi/AV36_1.AVI9.3 MiBTagLib#60.0 µs2.16×40.6 KiB---285.830.3cold first run 16.60 ms
samples/avi/GoneNutty.avi44.7 MiBOneMedia11.9 µs0.42×22.4 KiB---291.930.4cold first run 19.04 ms
samples/avi/GoneNutty.avi44.7 MiBATL.NETfail------37.530.4NullReferenceException: Object reference not set to an instance of an object.
samples/avi/GoneNutty.avi44.7 MiBMetadataExtractor28.1 µs1.00×67.8 KiB---1190.130.5fastest comparator; cold first run 8.65 ms
samples/avi/GoneNutty.avi44.7 MiBTagLib#60.9 µs2.17×39.3 KiB---286.630.4cold first run 16.91 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBOneMedia11.1 µs0.43×19.1 KiB---291.730.4cold first run 18.43 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBATL.NETfail------37.530.5NullReferenceException: Object reference not set to an instance of an object.
samples/avi/DV-type1/dvformat2.avi180.0 MiBMetadataExtractor25.8 µs1.00×68.4 KiB---1190.030.5fastest comparator; cold first run 8.41 ms
samples/avi/DV-type1/dvformat2.avi180.0 MiBTagLib#63.7 µs2.48×291.4 KiB---289.830.4cold first run 16.63 ms
generated/avi/large/odml-4p6gb.avi4.33 GiBOneMedia15.9 µs0.52×20.2 KiB---291.730.4cold first run 18.79 ms
generated/avi/large/odml-4p6gb.avi4.33 GiBATL.NETfail------37.330.4NullReferenceException: Object reference not set to an instance of an object.
generated/avi/large/odml-4p6gb.avi4.33 GiBMetadataExtractor30.7 µs1.00×68.0 KiB---1190.030.4fastest comparator; cold first run 8.81 ms
generated/avi/large/odml-4p6gb.avi4.33 GiBTagLib#69.8 µs2.27×96.9 KiB---289.930.5cold first run 16.61 ms

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

FileToolWall medianWall min – maxPeak MiBNote
generated/avi/large/odml-4p6gb.aviExifTool50.15 ms50.15 ms – 50.15 ms18.1
generated/avi/large/odml-4p6gb.aviMediaInfo12.23 ms12.23 ms – 12.23 ms10.4
generated/avi/large/odml-4p6gb.aviffprobe -show_format -show_streams4.58 ms4.58 ms – 4.58 ms11.8
generated/avi/tagged-mpeg4-mp3.aviExifTool52.27 ms51.21 ms – 52.60 ms18.8
generated/avi/tagged-mpeg4-mp3.aviMediaInfo10.01 ms9.82 ms – 10.12 ms11.7
generated/avi/tagged-mpeg4-mp3.aviffprobe -show_format -show_streams3.26 ms3.05 ms – 3.68 ms12.4
samples/avi/AV36_1.AVIExifTool52.58 ms49.10 ms – 52.91 ms18.4
samples/avi/AV36_1.AVIMediaInfo7.88 ms7.85 ms – 8.15 ms10.3
samples/avi/AV36_1.AVIffprobe -show_format -show_streams3.03 ms2.59 ms – 3.41 ms11.5
samples/avi/DV-type1/dvformat2.aviExifTool50.83 ms49.55 ms – 54.64 ms18.1
samples/avi/DV-type1/dvformat2.aviMediaInfo14.13 ms14.10 ms – 14.26 ms12.0
samples/avi/DV-type1/dvformat2.aviffprobe -show_format -show_streams5.25 ms5.09 ms – 5.51 ms12.3
samples/avi/GoneNutty.aviExifTool51.72 ms49.27 ms – 52.81 ms18.8
samples/avi/GoneNutty.aviMediaInfo24.18 ms23.58 ms – 24.55 ms12.2
samples/avi/GoneNutty.aviffprobe -show_format -show_streams4.26 ms3.75 ms – 4.43 ms13.4