
Sebastian Fischer wrote:
Hello,
I wonder whether (and how) I should increase the version number of a library when the API does not change but the implementation gets more efficient.
I think it depends on how much more efficient. Constant factors of improvement are always nice, but they aren't (usually) earth shattering and so are probably only worth a D bump. Asymptotic improvements may very well be worth a C or B bump--- especially if they introduce the possibility of new bugs due to large code changes (i.e., you haven't _proven_ bug-for-bug compatibility). But it also depends on the audience. For example, some libraries are defined as being "an efficient implementation of Foo" rather than being, say, an implementation of a particular data type or a particular high-level API for writing nice code. If your library is _defined_ by its performance characteristics, then a C or B bump would be appropriate since the complexity is effectively part of the API even though it isn't captured in the type system. -- Live well, ~wren