Oliver, These kinds of discussions rapidly devolve into "I'm right, You're wrong" threads, with an ongoing exchange minutae, strawmen, situational comments, generalizations, and True Beliefs. The flamer with the most free time and general verbosity usually "wins". The thing is, if Cosmic works for you, what I have to say about GNU or any competing commercial compiler is irrelevant. I have no interest in selling you on GNU or anything else. I can only make suggestions based on the info available, and in this case it started with someone asking for a free toolset. We seem to have diverged from that rather rapidly. I made arguable claims (and all relative claims are arguable), but so what? You make the claim that buying is cheaper. I didn't see you make a case for that, other than it took a long time to evaluate a compiler. But that's not a case as you could have just acquired and used it, same as any other (see how easy and pointless this is?). In one of the commercial compilers, I note a significant avoidance of the Y register. It's a respected compiler, but I can easily see how using Y would make for some serious code shrinkage (I'm one of those people who usually checks the compiler's assembly output). But this means nothing- another compiler might use Y, but do something else less than optimal. It doesn't matter on another level: it makes code that is certainly good enough for me. In my "ideal" limited-budget situation, I'd rather spend money on a big honking hardware emulator than any compiler. When you hit certain classes of problems, these things will save your more time than your accumulated vacation. And certainly more than the learning curve difference between any two toolsets several times over. -z --- In , "Oliver Betz" <list_ob@g...> wrote: > Mysterious Mister Z wrote: > > > Oliver, you are partly correct. The GNU compiler made a call to a > > library function for the division, but not the multiplication. Whether > > this is "bad" or not depends on whether or not you like your division > > errors tracable. > > and on the quality of the library routine for division - you didn't > say anything about this. > > > Of course, one example means very little. It's quite possible to > > there are more, but I didn't have the time to investigate this > further, it was cheaper to buy the Cosmic compiler. > > > compare any two compilers with a little selective nitpicking and > > "prove" one is ... well, whatever you want. All this leads to is an > > exchange of strawmen and a flame war, so I won't go there. > > No - it shows that making a _good_ port is much work. Stephane Carrez > did a good job, but he simply doesn't have the time to provide a high > degree of optimization. And there are not as many contributors as > compared to other GCC ports. > > > In my view, the making of compilers is no longer the rocket science it > > used to be. They are all pretty good, and they all have > > No, but it's a _lot_ of work. > > > idiosyncracies. The only things really worth looking at are: > > > > What is the total cost of ownership? > > Will it help you reach deadlines better than another? > > Is the support of a type, level and quality you need? > > Is the value added by included extras (IDE, debug tools, help > > functions and so on) right for YOU? > > Are you comfortable with it's way of doing things? > > So if you have to count your work time, the paid HC12 compilers are > still cheaper. > > [...] > > > Where I work, we have embedded tools for some 8 different processors, > > and a near equal variety of tools. One engineer abandoned a "high end" > > gui-based IDE in favor of a variety of command line tools and > > standalone editors (he still uses the package's underlying compiler, > > I use the Cosmic compiler with make, makedepend and my favourrite > editor. Setting the compiler options and making a link file are the > only specific tasks. > > [...] > > > Code generation is rarely (never?) the issue. You can't evaluate it > > Code generation is the main issue if it's bad. If a long/long > division takes 2000 cycles instead of 200, you could be in a > situation where it's simply not possible to do the job. Or if your > interrupt routine has to save several bytes to local storage > therefore being slower and/or not re-entrant. > > [...] > > > I still stand by my assertion that GNU is the way to go when you have > > time but not money. But it is not the only consideration of course. > > Ack. But I didn't see this statement in your original post. You only > wrote "The code quality is as good as any commercial compiler, IMO." > And that's not true. The commercial compilers generate nearly optimal > code (at least the two expensive ones). Rarely you can make it much > better by using assembler. > > Oliver > -- > Oliver Betz, Muenchen |