[alsa-devel] alsa-utils 1.1.8: axfer tests take ages tu run.
Elimar Riesebieter
riesebie at lxtec.de
Sun Jan 27 11:03:04 CET 2019
* Takashi Sakamoto <o-takashi at sakamocchi.jp> [2019-01-27 12:44 +0900]:
> Hi,
>
> On Sat, Jan 26, 2019 at 05:04:32PM +0100, Elimar Riesebieter wrote:
> > * Elimar Riesebieter <riesebie at lxtec.de> [2019-01-26 15:49 +0100]:
> >
> > > Hi,
> > >
> > > what are the tests in alsa-utils-1.1.8/axfer/test/ good for? mapper-test and
> > > container-test are running very long time. I Can't find any docu in
> > > the source? If the need as long as on my 8-core the source is not
> > > ready for distribution, though.
> >
> > container-test took 44min but passed!
>
> It's expected.
>
> The execution time of unit tests for axfer is file I/O bound, thus
> it's independent of processors. However, I guess it takes 20-50 minutes
> to finish all iterations.
FYI this will block build daemons on distribution machines.
alsa-utils 1.1.7 builds within a finger snip, though.
>
> I design the 'container-test' to iterate a set of building/parsing
> content of media container with memory comparison for 635,904 times.
> Each trial consists of the different combination of parameters
> described below:
>
> * buffer type for audio data frame (=2)
> * linear buffer and interleaved for SND_PCM_ACCESS_MMAP_INTERLEAVED
> * linear buffer and non-interleaved for SND_PCM_ACCESS_MMAP_NONINTERLEAVED
> * type of media container and format of audio data frame (19 + 7 + 4 + 39 = 69)
> * 19 formats for RIFF/Wave container
> * 7 formats for AU container
> * 4 formats for VOC container
> * 39 formats for raw container
> * the number of samples in an audio data frame (=128)
> * 1-128
> * the number of audio data frames in buffer (=6)
> * 23
> * 1047
> * 2071
> * 3095
> * 4119
> * 4500
> * (23-4500 with 1024 step)
> * the number of audio data frames per second (=6)
> * 44.1kHz
> * 48.0
> * 88.2
> * 96.0
> * 176.4
> * 192.0
>
> When building/parsing media container, each implementation of media
> container executes I/Os to actual files.
>
>
> Like container-test, the 'mapper-test' iterates a set of muxing/demuxing
> between the buffers of audio data frame and the containers with memory
> comparison for 10,752 times. Each trial consists of the different
> combination of parameters described below
>
> * buffer type for audio data frame (=4)
> * linear buffer and interleaved for SND_PCM_ACCESS_MMAP_INTERLEAVED
> * linear buffer and non-interleaved for SND_PCM_ACCESS_MMAP_NONINTERLEAVED
> * linear buffer and interleaved for SND_PCM_ACCESS_RW_INTERLEAVED
> * vector buffer and noninterleaved for SND_PCM_ACCESS_RW_NONINTERLEAVED
> * type of media container and format of audio data frame (=7)
> * 7 formats for RIFF/Wave
> * the number of samples in an audio data frame (=32)
> * 1-32
> * the number of audio data frames in buffer (=6)
> * 23
> * 1047
> * 2071
> * 3095
> * 4119
> * 4500
> * (23-4500 with 1024 step)
> * the number of audio data frames per second (=1)
> * 48.0 kHz
> * type of mapper (=2)
> * single
> * multiple
>
> When muxing/demuxing for buffer of audio data frame, it uses internal
> implementation of RIFF/Wave container, thus executes I/Os to actual
> files.
Thanks for explanation.
>
> I think it preferable to shorten the execution time of each unit test;
> e.g. several minutes at maximum, however the purpose of unit test is to
> detect bugs in advance and this program handles audio data frame between
> the several types of buffer for I/O to sound device and the several
> types of media container with combinations of many parameters. At
> present it's reasonable to takes such long time to finish the tests.
This means you need a sound device on the building machine? Thats
contra productive! I assume that at least our Debian buildd's don't
have a sound device. How are those tests handled in that case? We
need a properly solution for Linux distributions here!
> Of course, we can shorten the duration time by eliminating the range
> of parameters. Actually I've investigated to reduce iteration and reduce
> for the number of audio data frames in buffer by 6 options. But any
> reasonable explanation except for the duration time is required to be
> worth for it, IMO.
Well, what do you think to outbound your tests to i.e.
$PREFIX/doc/examples to let the user decide whether to run them or
not. A configure option to cancel the tests in the build process
would be an option to be decided by the distribution maintainer.
Elimar
Member of "Debian ALSA Maintainers"
--
"Talking much about oneself can also
be a means to conceal oneself."
-Friedrich Nietzsche
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20190127/93222b4c/attachment.sig>
More information about the Alsa-devel
mailing list