Hi,

On 4 Sep 2011, at 11:34, Colin Guthrie wrote:

> What do you think the best route forward here is?
> 
> 1. Convert on the fly only.
> 2. Convert on the fly and write to disk.

Although not directly related, I used to work on a mail server (Scalix) that 
periodically updated its database format using (2).

You captured the problems that we had with the two approaches very well.  For 
the mail server, the cost of converting on the fly every time outweighed the 
cost of doing a conversion once on the first access quite substantially.   
There was a period just after the upgrade when things ran slightly slower 
although this could be avoided by scanning the entire database (an fsck-like 
operation).

However, performance issues aside (which don't apply in this case) there was 
one huge advantage: subsequent upgrades had nicely separated code.   Given an 
item in the database (in Scalix's case) to get from version N to version M 
simply involved calling the each of the conversions from N, N+1, … N+M-1 in 
order.  Once we decided that no one in their right minds would ever be using 
version N any more retiring it from the code base was basically "rm".   In your 
case you can keep the old code until it no longer compiles :-)

Based on my experience with Scalix, I'd vote for (2) every time.

jch
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to