[LAD] [LAU] cancelling I/O with libsndfile

Erik de Castro Lopo mle+la at mega-nerd.com
Tue Jul 5 05:30:44 UTC 2011


Dan Muresan wrote:

> > I haven't measured it, but my educated guess is that if you're
> > reading 16384 frames at a time from a FLAC file on current hardware,
> > then the difference between reading st_blksize sized blocks and
> 
> Uh, actually no. If one reads 4096, 2048, or 1024 frames the result is
> the same -- 4 bytes less than st_blksize -- EVERY syscall. Try it. In
> any case, I didn't optimize anything like that yet. It was a design
> discussion. I was saying that's one more reason why it's good to have
> the VIO layer, since there is no userspace cache.
> 
> > non-st_blksize sized blocks will be absolutley swamped, by disk
> > latencies, cache latencies, scheduling latencies and file
> > decoding overhead.
> 
> You seem to mix up latency and CPU load? A program can have low
> latency, yet high(er than necessary) CPU load.

I think you missed the point.

The point is that if you set out to measure the difference
(in CPU load or in latency) between reading st_blksize size
blocks and st_blocksize - 4 blocks at the libsndfile API level,
your measurements would be so swamped with noise from other
factors that any differences would be statistically irrelevant.

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/



More information about the Linux-audio-dev mailing list