Sorry Guys, AVRGcc is crap....NOT!

Go To Last Post
153 posts / 0 new

Pages

Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here's the evidence.

http://www.iar.com/website1/1.0....

Note that I have 'tongue in cheek'. I doubt with the incontrovertible evidence presented that you'll all dump gcc and fork out $$$$$ for IAR.

Last Edited: Fri. Jul 16, 2010 - 11:35 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Note that I have 'tongue in cheek'

Noted.

Still:
- No mention of what version of avr-gcc
- No mention of commands/options/whatever for building in either tool chains

In fact, far from enough information for anyone possessing both tool chains to repeat the measurements ending up with the same results. Bad science. Ignore.

It is quite possible that IAR on average produces 25% smaller code, but it an not be verified. It's the (non-)presentation of proof and repeatability that sucks.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Interesting that they give the version number for the IAR but just "avr-gcc". Also no details of what compile time options were used. If you used -O0 with avr-gcc (for example) you could make it look atrocious.

There's little doubt that IAR is probably the best of the C compilers but these days I'd say its advantage was 5%..10% not 25%

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just for a laugh, I've asked them this via their contact web page:

"That comparison is quite meaningless! What version of GCC-AVR was used, and what compiler options?"

Leon Heller G1HSM

Last Edited: Wed. Jun 30, 2010 - 09:12 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
IAR Embedded Workbench generated 25,5% less code than GCC-AVR.
And they have the hide to charge such outrageuos fees for something that generates LESS code. Sheesh :mrgreen:

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Johan gets to shout "SNAP!" on this occasion ;-) (Leon and I are just runners up).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But I'm probably the first to ask them about it!

I've sent the details to Paul Curtis at Rowley. They have an ongoing (friendly) rivalry with IAR about the superiority of their respective compilers. They might come up with something interesting.

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Leon and I are just runners up

Based on the timing of the posts, yours might be considered a runner up. Leons was either plagiarism, or he typed reeeeeaaallllyyyy slooooow...

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
Here's the evidence.

http://www.iar.com/website1/1.0....

Note that I have 'tongue in cheek'. I doubt with the incontrovertible evidence presented that you'll all dump gcc and fork out $$$$$ for IAR.

I doubt the purpose of that is to convert anybody. This would be the stupidest way to do so.

I believe this is just to reassure the existing clients how well their $$$$$ was spent.

JW

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I only think that IAR are better if you write clean cross platform C code. GCC AVR do a fine job if you remember that a AVR is 8 bit and not an ARM.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Today's Dilbert panel is on-topic. I suppose it is EW behind the desk. Must be Kartman delivering the bad news.
http://www.dilbert.com/2010-06-30/

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dilbert is more subtle in the delivery than me though.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are areas where the IAR compilier is far ahead of GCC-AVR. Support of devices with more than 128k is one area where they have solved the problem of pointer size correctly instead of with some hacks. I could NOT get the Atmel MAC code to work correctly on the xmega256 when compiled with avr-gcc, the Atmel rep told me it would have worked with the IAR compilier. Correct me if I'm wrong, but I suspect IAR does NOT need to use trampoline tables and instead just uses the correct sized jump/call instruction as required. They were also first to market for compilier support for > 128k devices.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Of course besides the lack of scientific value of above comparison there is probably a grain of truth. When I compared my application compiled by gcc 4.3.4 and 4.5.0 I gained about 25% code reduction. So it must be easy to beat gcc 4.3.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The recent cli()/sei() discussions have convinced me that GCC is much too expensive to use for industrial applications. (Perhaps everyone else knew that already.)

C: i = "told you so";

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Crap for free can still be a great value! What can be better than infinite value crap?

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is marketing bs. Graphs are old, like really old. GCC produces larger code, this is true. IAR produces code that requires more RAM by the same 25%.

LE: BTW, this graph was produced on our side and it was not intended to promote one of compilers, it was intended to tell the truth to BitCloud users, that's all.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been converting some hand crafted asm programs to gcc C and have been surprised at how well gcc has done in comparison. For free I think you get your moneys worth ;)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The open source development model does work well in the long run, but since it is usually never schedule driven closed source products are often first to market with the latest features. Wait long enough and GCC will 'get there', with better quality thanks to more eyes on the code.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
Note that I have 'tongue in cheek'.

Wait until people say what they can do in assembler ;)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Break out the Zippo!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

damien_d wrote:
Wait until people say what they can do in assembler ;)

I can write assembler code that takes up more flash than IAR and AVR-GCC combined :P

IAR's graph is meaningless without a lot more detail. AVR-GCC requires somewhat more expertise to achieve a small flash size by enabling specific optimisations. The most recent binary release of the toolkit for windows carried a substantial drop in flash usage as well - it is still larger than IAR or Codevision but not by much IMO. Maybe 10%. For free, that's not bloody bad.

Would IAR be crowing about their expensive solution being 10% better than a free open source alternative? I think not. 10% only matters if you are on a 2K/4K/8K boundary and you're punching out thousands of boards (in which case the cost of IAR justifies itself as a saving in manufacturing). Anything less than that and it's a cheaper solution to use GCC and put the next biggest MCU on your board. And if the difference is 6K vs 7.5K flash then who cares - you might as well use the free one anyway.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sizing + timing + quality + timeliness (not "real soon now") + cost = value.
Value is maybe subjective.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avr-gcc was actually the primary reason i chose AVR , and not "The MCU that must not be mentioned"

But then again i'm just a hobbyist.

I guess if you work for a company you can afford the thousands of $$ for IAR , i can't.

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bingo600 wrote:
avr-gcc was actually the primary reason i chose AVR , and not "The MCU that must not be mentioned"

But then again i'm just a hobbyist.

Well, we chose it for precisely the same reason (in amongst others), except we use it commercially. Unattended builds from SVN on a build server is a "must" capability for us - no undocumented dependencies on an individual PC (which we struggled with on a different micro).

-- Damien

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bingo600 wrote:
avr-gcc was actually the primary reason i chose AVR , and not "The MCU that must not be mentioned"

I am using GCC for the larger families of "The MCU that must not be mentioned". It is however, a royal pain in the rear end to set up. But it's decently cheap and available here, so I'd like to keep my options open.

WHEN will atmel start doing low-cost direct sales?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Like Microchip Direct? I can't see it happening any time soon.

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I choose to go with AVRs also for the same reason, because AVR-gcc is free, and I already had experience in C. Plus I found a lot of documentation to get started, with code in ARV-gcc which for a beginner, way back when, was a major selling point at the time, now it's just become a natural pattern every time I hook up my programmer.
Until I find something else thats better and free, I don't care if AVR-gcc crap or not, it works and thats all I need :D

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

New AVR user here! Being a linux user and an open-source fanboy, the AVR-gcc was a pretty important reason for my choice of AVR. Slightly bad code optimization performance doesn't matter to me, as I'm purely a student/hobbyist for now.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It clearly states what versions were used avr-gcc 4.3.0, However the current version is 4.5.0

Quote:

Tools used in this benchmark

The following tool sets where used for this benchmark:

* IAR Embedded Workbench for AVR v5.30
* WinAVR 20080512 with GCC-AVR 4.3.0

I agree avr-gcc is free and runs on any platform (I dont do Windows)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

It clearly states what versions were used avr-gcc 4.3.0

Well-well, someone at IAR might have been reading this thread then. That information wasn't there when this thread started. Next time something like this happens we need to take a screen-shot..

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The test is still not reproducible though.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

anders_m wrote:
The test is still not reproducible though.

It is hard to find BitCloud SDK that old, but you can download current version of SDK and try it for yourself. Even latest GCC looses on code size, but wins on RAM (mostly due to dual stack system of IAR, I think).

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alexru wrote:
It is hard to find BitCloud SDK that old, but you can download current version of SDK and try it for yourself.
That's missing the point. Anyone posting benchmarks like that needs to supply the details on how it was built, how it was tested and so on. I'm not saying I don't believe other compilers do a better job than GCC, but that the way these tests are presented means they provide no actual information. (Not that that's the purpose of them anyway.)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

anders_m wrote:
That's missing the point. Anyone posting benchmarks like that needs to supply the details on how it was built, how it was tested and so on.

Well, yeah, but it would be the most boring marketing letter (from managers perspective) if it will include such details.

Including data for RAM consumption just for symmetry would be nice though.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
Quote:

It clearly states what versions were used avr-gcc 4.3.0

Well-well, someone at IAR might have been reading this thread then. That information wasn't there when this thread started. Next time something like this happens we need to take a screen-shot..

As Johan says, someone has tipped them off to the existence of this thread - it didn't give the GCC version previously. So if someone from IAR is reading this direct or someone knows the right person there the next step is to get them to publish the compile and link command lines. Without those the "benchmark" is still meaningless drivel.

Perhaps the options used are just those in the "standard" Bitcloud Makefile? If so what guarantee is there that the most optimal set of options (for size as this is the purpose of the benchmark) were chosen by the Bitcloud authors? Maybe they chose to optimise for speed instead? Or maybe they didn't particularly concentrate on either form of "tight" optimisation?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Perhaps the options used are just those in the "standard" Bitcloud Makefile? If so what guarantee is there that the most optimal set of options (for size as this is the purpose of the benchmark) were chosen by the Bitcloud authors? Maybe they chose to optimise for speed instead? Or maybe they didn't particularly concentrate on either form of "tight" optimisation?
If they would, the message would be "you'd need to spend considerable time with tweaking switches in avr-gcc to get this and this figure".

But, as more people said above, that is not a message conveyable to the manager types to whom the message was intended. It is not the intention of it either.

JW

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think it entirely reasonable for a Marketing blurb to :
1. quote a link to the relevant source codes
2. use the IAR default options
3. compare to specified compilers using their default options. quoting version numbers.

I am sure that IAR would beat its competitors hands down. If it did not, it seeks some other source code until it shows in the best light.

A prospective purchaser does not want to read a lengthy explanation. She just wants to see which graphic display is the most impressive.

The disgruntled AvrFreak can fiddle with avr-gcc switches until he gets some better figures.

The prospective purchaser makes her own decisions.
Vendors are always going to show the 'best' for their products. Purchasers are aware of this. If the Vendors try to be deliberately obtuse as in the original web-page they are treated with contempt.

As long as they quote links to their test code and test conditions, they can use whatever 'marketing speak' that they like.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Over here in germany, the current state of affairs re. feminism dictates the use of terms like "his/her" and "he/she".

It seems that in the UK, you're already a step further, since you seem to consistently omit the male form of nouns completely.

Since i'm about to stay for some days of vacation in the UK pretty soon, i'm particularly interested in my chances (as a male human) to survive that trip.

[sorry for this totally unrelated comment on a serious issue, but i've stumbled on that behaviour several times and do think some counter-reaction, maybe "masculinism" - seems appropriate ;-) )

Einstein was right: "Two things are unlimited: the universe and the human stupidity. But i'm not quite sure about the former..."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The UK IAR person told me this a week ago:

"As you know we take code optimisation quite seriously."

"I will do and ask the dev team for the source data, I think this was done with Atmel staff team too."

He hasn't got back to me.

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
It seems that in the UK, you're already a step further, since you seem to consistently omit the male form of nouns completely.

You should not take things too seriously.

My neighbours (two brothers) always called their cows 'he'. It always sounded strange to me when they would say 'He had a bad calving' or 'He is milking well'.

Yes their 'hims' produced gallons rather than litres of milk.

When you are in England, try calling girls 'he'. Let us know if you survive.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DO1THL wrote:
[sorry for this totally unrelated comment on a serious issue, but i've stumbled on that behaviour several times and do think some counter-reaction, maybe "masculinism" - seems appropriate ;-) )

It was a few thousand years of that perceived "masculinism" that got us into this linguistic mess to begin with. I hope she all blows over soon.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

On this board there are probably about 100 men for every woman. So if you just throw in a she every once in a while, you should still meet the PC requirements :)

Regards,
Steve A.

The Board helps those that help themselves.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DO1THL wrote:
Over here in germany, the current state of affairs re. feminism dictates the use of terms like "his/her" and "he/she".
Do ask a feminist why he/she is okay since the he comes first and is on top. Shouldn't the she get to come first and be on top? Maybe they should require he/she then she/he and toggle them? But then how do you decide which to use first? Perhaps you should keep track of everything you right and alternate the first use between documents. Or maybe you should flip a coin to see which one you use first.

At his point ask the feminist if she wants to get on top and come first.

Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Do ask a feminist why he/she is okay since the he comes first and is on top. Shouldn't the she get to come first and be on top?

Oooooooooooh, my. So many openings...

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My prior song and dance was performed before a large meeting when I worked at Oak Ridge National Laboratory in response to the edict that we would hence forth use he/she in our writing (lotsa women, lotsa dirty looks). This was in the 70's. I'm all for equality, but blatant stupidity shouldn't be required to hold a job. IMHO he/she is more discriminating since it emphasizes that the 'he' is first and denies that 'he' in context is the closest to a neuter personal pronoun that we have. If you say he with no other indicator of the actual sex then we can assume that the speaker is referring to generic person. There were attempts to define a neutral personal pronoun such as 'per' but it never took off.

A language bereft of a neuter personal pronoun can only spoken with discrimination.

Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
edict that we would hence forth use he/she in our writing
I have also seen (s)he proposed. Just as silly.

Regards,
Steve A.

The Board helps those that help themselves.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Uhhh, i seem to have opened a can of worms here... Two more replies, and we're in the middle of the feminism war of male vs. female. And all that just because of David's statement "The prospective purchaser makes her own decisions."

And i also don't insist of the "he/she" term, such expressions are ridiculous and complicate the reading of any text. But since the feminism wave over here agressively tries to abandon the well-established use of our generic masculinum form of the german language, political correctness nowadays dictates just crazy expressions:

"Dear colleagues" nowaday translates into "Liebe Kollegen und Kolleginnen", tax payers - addressed by a polititian in a speech - become "Steuerzahler und Steuerzahlerinnen" just to satisfy the feministic demand of a female form for anywhere we used the generic masculinum before.

Ok, so is IAR better than her/his rival gcc?

Einstein was right: "Two things are unlimited: the universe and the human stupidity. But i'm not quite sure about the former..."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

On the other hand, life has gotten a bit easier if you know someone's last name as you can simply use Frau Mustermann or Herr Mustermann, sorry, Musterperson.

DO1THL wrote:
Ok, so is IAR better than her/his rival gcc?
The standard solution in this case would be to use the third person plural: Is IAR better than their rival, gcc? Except that still sounds a little funny, even if IAR and gcc are ships.

- John

Last Edited: Tue. Jul 6, 2010 - 07:02 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
On the other hand, life has gotten a bit easier if you know someone's last name as you can simply use Frau Mustermann or Herr Mustermann, sorry, Musterperson.

How does that knowledge actually make life easier???

In contrary, knowing that a woman called "Mustermann" is a radical feminist, i would do my best to avoid any usage of her last name.... (and silently wonder why she didn't change it to Musterfrau)

Einstein was right: "Two things are unlimited: the universe and the human stupidity. But i'm not quite sure about the former..."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Knowing a woman who is a radical feminist I would do my best to avoid any contact with her. Just to save my life. A BTW, we have another form – it/its. I know that humans are not things, but should we discriminate other life forms distinguishing between humans and others?

Pages