[FFmpeg-trac] #8109(undetermined:reopened): Long loading delay for VfW codecs in Matroska
FFmpeg
trac at avcodec.org
Tue Sep 3 18:42:45 EEST 2019
#8109: Long loading delay for VfW codecs in Matroska
-------------------------------------+-------------------------------------
Reporter: Austin | Owner:
Type: defect | Status: reopened
Priority: normal | Component:
| undetermined
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 1 |
-------------------------------------+-------------------------------------
Changes (by mkver):
* analyzed: 0 => 1
Comment:
The file has 90000 cue entries and parsing them involves reallocating an
array for the entries. And Windows seems to be bad at this if the array
gets big (does it always copy?). Here are timings for the calls to
av_realloc_array in ebml_parse (notice that these numbers also include the
allocations of the single MatroskaIndexPos (that don't get reallocated
lateron)):
{{{
55880 decicycles in realloc, 16 runs, 0 skips
35677 decicycles in realloc, 32 runs, 0 skips
25478 decicycles in realloc, 63 runs, 1 skips
17347 decicycles in realloc, 127 runs, 1 skips
16525 decicycles in realloc, 252 runs, 4 skips
15753 decicycles in realloc, 505 runs, 7 skips
18281 decicycles in realloc, 1013 runs, 11 skips
27369 decicycles in realloc, 2036 runs, 12 skips
46154 decicycles in realloc, 4077 runs, 19 skips
93221 decicycles in realloc, 8152 runs, 40 skips
163832 decicycles in realloc, 16311 runs, 73 skips
222335 decicycles in realloc, 32677 runs, 91 skips
383875 decicycles in realloc, 65417 runs, 119 skips
731573 decicycles in realloc, 130667 runs, 405 skips
}}}
It's even more insane if one does not discard outlier:
{{{
46876 decicycles in realloc, 16 runs,
31958 decicycles in realloc, 32 runs,
24342 decicycles in realloc, 64 runs,
15159 decicycles in realloc, 128 runs,
12448 decicycles in realloc, 256 runs,
11096 decicycles in realloc, 512 runs,
12053 decicycles in realloc, 1024 runs,
15506 decicycles in realloc, 2048 runs,
27108 decicycles in realloc, 4096 runs,
50788 decicycles in realloc, 8192 runs,
91929 decicycles in realloc, 16384 runs,
181616 decicycles in realloc, 32768 runs,
379396 decicycles in realloc, 65536 runs,
880554 decicycles in realloc, 131072 runs,
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8109#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list