Ticket #322 (new Bugs)
I/O and clocks
| Reported by: | mrpingouin | Owned by: | admin |
|---|---|---|---|
| Priority: | 1 | Milestone: | 1.0 beta |
| Component: | Liquidsoap | Version: | |
| Keywords: | Cc: | ||
| Mac OSX: | yes | Linux: | yes |
| NetBSD: | yes | Other Operating System: | yes |
| FreeBSD: | yes |
Description (last modified by mrpingouin) (diff)
It seems to me that IoRing? is very good, it provides tight I/O. It clearly is better than the old buffering code with active waiting and delays (defeating the purpose of buffering by interfering with the clock). Now that it supports a size=1 ring, it might also be as good as the unbuffered Alsa operators. Anybody using that one?
The old Ringbuffer module is still used for buffered I/O in opal. This is done in the old style, active waiting and delays. Couldn't we use IoRing? there? Or is Opal dead anyways?
Now that we have clocks, we could also only keep the unbuffered Alsa (and Opal, etc) in the future, and create a pure IoRing? operator that we would combine.
It's kind of scary to touch that again; I hope we'll not loose any of the progress we've painfully made so far. Making some careful measures of time drifts in various situations should be helpful.
