Analytics Tracking Code

Wednesday, July 25, 2007

I am unfortunately one of those folks that rather likes new features in their software...

Since I have been developing httperf, I been trying to find the balance between modern and historical features that I should reliably be able to depend on.

The httperf tool was primarily written in the late 1990's and probably was developed against the GCC 2.7 or some version of EGCS, in conjunction with the HP C compiler. Obviously, things have moved quite a bit since those days, with the EGCS/GCC merge, and now the most recent release of GCC 4.2.1. Moreover the auto-tools have taken big steps since those times. New elegant features abound, and I am very much tempted to use them.

But should I?

While openSUSE doesn't mind the bleeding edge of gcc 4.2.1 for the upcoming 10.3 release, the OpenBSD project will be sticking with the gcc 3.3.x compiler for a while. Moreover, some prominent users of httperf are still using FreeBSD 4.x with gcc 2.95.x.

This puts me in a vaguely tough position. For one, I believe that more modern compiler features can dramatically improve httperf on a whole. But this is counter balanced with the need to not alienate existing users that are locked to an older platform for the time being.

So my decision? No change... Sort of.

For the time being I will commit to maintaining existing (working) code enclosed in conditional compilation flags to make sure existing users can still use the software. Along side with this I am developing new functionality which I will try to integrate into the old code base as feature compatibility permits.