BTW what are the real advantages of having one binary?
I'd say that having separate binaries is more flexible solution in general: 1. Don't care about performance degradation due to runtime checks. 2. Easy to port to new platforms by expanding #define's. 3. Possibility to link statically against platform-specific libraries. 4. Easy to code platform-specific calls without additional code for dynamic invocations (calling by name, etc.). 5. Possibility of implementing functionality for one particular platform (e.g., we have something on XP for free and need to do a hard work enabling it on 2K), easy platform specific performance tuning. 6. Usage of platform-specific definitions won't break the build on other platforms. And the cost of having one binary rises with the number of differences in the API used. IMO, the best solution is to switch to the separate binary when the amount of platform-specific code becomes not neglible, say 1% :) Or the workload of this code (is it the right word?) becomes reasonably high, resulting in significant performance degradation due to runtime checks.
>> So the question is: should we aim to have a single binary that works on >> W2K PIII /and/ WinXP IPF ?
Hmm, are PIII and IPF binary compatible? At least, there are a lot of compile-time optimizations specific to IPF, if I am not missing something... thanks, Oleg On 8/9/06, Tim Ellison <[EMAIL PROTECTED]> wrote:
Geir Magnusson Jr wrote: > Tim Ellison wrote: >> Maybe I'm missing something here, but we 'support' what ever code we >> have in our SVN. If somebody wants to work on the code to make it good >> for W2K, or Win95, or WinCE ... then why not? Would we really say 'no'? >> >> I agree that we may have more than one binary snapshot/release for >> different Windows versions -- but it is one code base, one >> configure/make build, etc. >> >> So the question is: should we aim to have a single binary that works on >> W2K PIII /and/ WinXP IPF ? > > That's a different question, isn't it? Yes, it is the question you also pose elsewhere -- can we have a binary that either (a) uses the lowest common denominator of the different windows platforms API without incurring an undue penalty performance, or (b) performs runtime checks and picks the best available APIs. Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]