Is Hitech C deliberately slugging code in the free version..?

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 | Next >

Is Hitech C deliberately slugging code in the free version..?

by Mike Harrison :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've not used C on a PIC for a while - thought things were rtunning a bit slowly on a 16F818
project. Looked at some code and was staggered by how badly it was generating code for trivial
operations
A couple of snippets :

313:               irtmr1+=bittime2;   // bittime 2 is a constant, irtmr1 is a global char
   090    300D     MOVLW 0xd
   091    00F2     MOVWF 0x72
   092    0872     MOVF 0x72, W
   093    07F8     ADDWF 0x78, F

Four instructions where two would do

314:               ircnt1++;
   094    3001     MOVLW 0x1
   095    00F2     MOVWF 0x72
   096    0872     MOVF 0x72, W
   097    07FC     ADDWF 0x7c, F

Four instructions where one would do.

 "Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 52% smaller than in Lite mode."

So does 'Omniscient Code Generation' just mean doing things properly?

I can't help but think that Microchip shipping something as poorly performing as this, even for
free, can't be doing them any favours winning potential customers as it just makes the silicon look
bad.



--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Bob Blick-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 02 Jul 2009 19:06:33 +0100, "Mike Harrison"
<mike@...> said:

>  "Running this compiler in PRO mode, with Omniscient Code Generation
>  enabled,
> produces code which is typically 52% smaller than in Lite mode."
>
> So does 'Omniscient Code Generation' just mean doing things properly?
>
> I can't help but think that Microchip shipping something as poorly
> performing as this, even for
> free, can't be doing them any favours winning potential customers as it
> just makes the silicon look
> bad.

I have an LCD terminal project on my website, and people have been
telling me it doesn't fit in the chip using the new free version. It fit
fine with the old free version.

Also, I haven't noticed "OCG" making any improvement over my older
"non-free", "pre-PRO" version.

This all started a few years ago. The non-free PRO compiler includes
"OCG" but does no better. The free version got way worse.

Now that Microchip has bought HiTech, things can only get better, it
would be hard for it to get worse!

Cheerful regards,

Bob

--
http://www.fastmail.fm - Email service worth paying for. Try it for free

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Ricardo de Azambuja :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have told then this (make the lite version better to the starter
developer) in the last road show, but they said if you bought the PRO
you will gain saving in memory and MIPS (producing some thousands uC)
so buying a poor uC and if you just need to produce one uC project,
you can afford buy a expensive uC (because of the bad code
optmization).


[ ]s

---------------------------------
Ricardo de Azambuja
http://www.azamec.com.br



On Thu, Jul 2, 2009 at 3:06 PM, Mike Harrison<mike@...> wrote:

> I've not used C on a PIC for a while - thought things were rtunning a bit slowly on a 16F818
> project. Looked at some code and was staggered by how badly it was generating code for trivial
> operations
> A couple of snippets :
>
> 313:               irtmr1+=bittime2;   // bittime 2 is a constant, irtmr1 is a global char
>   090    300D     MOVLW 0xd
>   091    00F2     MOVWF 0x72
>   092    0872     MOVF 0x72, W
>   093    07F8     ADDWF 0x78, F
>
> Four instructions where two would do
>
> 314:               ircnt1++;
>   094    3001     MOVLW 0x1
>   095    00F2     MOVWF 0x72
>   096    0872     MOVF 0x72, W
>   097    07FC     ADDWF 0x7c, F
>
> Four instructions where one would do.
>
>  "Running this compiler in PRO mode, with Omniscient Code Generation enabled,
> produces code which is typically 52% smaller than in Lite mode."
>
> So does 'Omniscient Code Generation' just mean doing things properly?
>
> I can't help but think that Microchip shipping something as poorly performing as this, even for
> free, can't be doing them any favours winning potential customers as it just makes the silicon look
> bad.
>
>
>
> --
> http://www.piclist.com PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Rikard Bosnjakovic-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 2, 2009 at 20:06, Mike Harrison<mike@...> wrote:

>  "Running this compiler in PRO mode, with Omniscient Code Generation enabled,
> produces code which is typically 52% smaller than in Lite mode."
>
> So does 'Omniscient Code Generation' just mean doing things properly?

Basically it means "Pay us loads of money and we will give you less
code". Here's what I got with your code, using a licensed Hi-Tech
C-compiler:

10:                    irtmrl += bittime2;
   3F5    302A     MOVLW 0x2a
   3F6    07A1     ADDWF 0x21, F
12:                    irtmrl++;
   3F8    0AA1     INCF 0x21, F



--
- Rikard - http://bos.hack.org/cv/
--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by Lucas Korytkowski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

That's in-line with what I'm seeing here.  Both for the PIC and for the
PSoC.  Hi-Tech released a compiler for the PSoC a little back, the free
version is much worse than the ImageCraft compiler.  We're sticking with the
ImageCraft on the PSoC and a much older version of the C compiler for the
PIC just so our existing projects can still fit in the chips.

I always thought the Omniscient code generation would optimize similar code
segments where it would be more feasible to turn them into common
subroutines, silly me, it really meant not to generate code by randomly
inserting instructions. The Pro version of the compiler knows every possible
way to optimize the poor code that the lite version would generate, hence
the name.  Sly marketing...

Lucas



-----Original Message-----
From: piclist-bounces@... [mailto:piclist-bounces@...] On Behalf Of
Mike Harrison
Sent: July 2, 2009 2:07 PM
To: PICLIST@...
Subject: Is Hitech C deliberately slugging code in the free version..?

I've not used C on a PIC for a while - thought things were rtunning a bit
slowly on a 16F818 project. Looked at some code and was staggered by how
badly it was generating code for trivial operations A couple of snippets :

313:               irtmr1+=bittime2;   // bittime 2 is a constant, irtmr1 is
a global char
   090    300D     MOVLW 0xd
   091    00F2     MOVWF 0x72
   092    0872     MOVF 0x72, W
   093    07F8     ADDWF 0x78, F

Four instructions where two would do

314:               ircnt1++;
   094    3001     MOVLW 0x1
   095    00F2     MOVWF 0x72
   096    0872     MOVF 0x72, W
   097    07FC     ADDWF 0x7c, F

Four instructions where one would do.

 "Running this compiler in PRO mode, with Omniscient Code Generation
enabled, produces code which is typically 52% smaller than in Lite mode."

So does 'Omniscient Code Generation' just mean doing things properly?

I can't help but think that Microchip shipping something as poorly
performing as this, even for free, can't be doing them any favours winning
potential customers as it just makes the silicon look bad.



--
http://www.piclist.com PIC/SX FAQ & list archive View/change your membership
options at http://mailman.mit.edu/mailman/listinfo/piclist

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by Herbert Graf-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 2009-07-02 at 15:30 -0400, Lucas wrote:
> inserting instructions. The Pro version of the compiler knows every possible
> way to optimize the poor code that the lite version would generate, hence
> the name.  Sly marketing...

Sly marketing? Frankly, if their free version went from doing these
optimizations to not doing them (honestly, a compiler that doesn't take
i++ and output INCF is BROKEN in my mind), and yet nothing was said to
that effect, I would call it at best sleezy, at worst something much
worse.

Yes, it's "free" and we don't really have a right to complain. That
said, it does show to be what kind of company they are, and it's not
someone I'd be willing to give money to based on this.

TTYL

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by Michael Rigby-Jones-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 

> -----Original Message-----
> From: piclist-bounces@...
> [mailto:piclist-bounces@...] On Behalf Of Herbert Graf
> Sent: 02 July 2009 21:56
> To: Microcontroller discussion list - Public.
> Subject: RE: Is Hitech C deliberately slugging code in the
> free version..?
>
> On Thu, 2009-07-02 at 15:30 -0400, Lucas wrote:
> > inserting instructions. The Pro version of the compiler knows every
> > possible way to optimize the poor code that the lite version would
> > generate, hence the name.  Sly marketing...
>
> Sly marketing? Frankly, if their free version went from doing
> these optimizations to not doing them (honestly, a compiler
> that doesn't take
> i++ and output INCF is BROKEN in my mind), and yet nothing was said to
> that effect, I would call it at best sleezy, at worst
> something much worse.


The description of Lite mode on the HiTech website clearly states
optimisations are disabled.

I think people are missing the point, if you wish to evaluate the
compiler for a commercial project, you can do so, with full
optimisations enabled for (I think) 45 days.  The Lite mode is really
for simple hobbyist projects where the ability to use any device often
outweighs the bloated code it produces.

Regards

Mike

=======================================================================
This e-mail is intended for the person it is addressed to only. The
information contained in it may be confidential and/or protected by
law. If you are not the intended recipient of this message, you must
not make any use of this information, or copy or show it to any
person. Please contact us immediately to tell us that you have
received this e-mail, and return the original to us. Any use,
forwarding, printing or copying of this message is strictly prohibited.
No part of this message can be considered a request for goods or
services.
=======================================================================

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE:Is Hitech C deliberately slugging code in the free version..?

by Bob Blick-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, 6 Jul 2009 12:30:18 +0100, "Michael Rigby-Jones"
<Michael.Rigby-Jones@...> said:

> > Sly marketing? Frankly, if their free version went from doing
> > these optimizations to not doing them (honestly, a compiler
> > that doesn't take
> > i++ and output INCF is BROKEN in my mind), and yet nothing was said to
> > that effect, I would call it at best sleezy, at worst
> > something much worse.
>
>
> The description of Lite mode on the HiTech website clearly states
> optimisations are disabled.
>
> I think people are missing the point, if you wish to evaluate the
> compiler for a commercial project, you can do so, with full
> optimisations enabled for (I think) 45 days.  The Lite mode is really
> for simple hobbyist projects where the ability to use any device often
> outweighs the bloated code it produces.

But what he was saying is that the free version was pretty good, and now
it isn't.

Why they would take away quality strikes me as bizarre.

It's even stranger if you look at the number of compilers available now
as opposed to when HiTech started out. There are a lot of good compilers
for cheap or free now. And if you are a beginner or a hobbyist, why
choose HiTech? It was always the compiler with the fewest features(no
I/O or other neat functions) but now it also produces the worst code. I
certainly wouldn't try it or buy it, and I was actually a customer of
theirs. I would not recommend it to anyone unless they had to do
maintenance on an existing project.

There's no longer a code size limit to the free version, but by
generating code several times bigger than necessary, isn't that almost
the same thing?

I'm not sure the ability to use any chip is that appealing to a hobbyist
or beginner. The old free compiler supported a few popular chips
properly.

I remember looking at the code generated by earlier versions and
admiring how clever it was. The new stuff looks like junk.

How can this be good for them?

Cheerful regards,

Bob

--
http://www.fastmail.fm - Access your email from home and the web

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by Michael Rigby-Jones-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 

> -----Original Message-----
> From: piclist-bounces@...
> [mailto:piclist-bounces@...] On Behalf Of Bob Blick
> Sent: 06 July 2009 17:37
> To: Microcontroller discussion list - Public.
> Subject: RE:[PIC] Is Hitech C deliberately slugging code in
> the free version..?
>
> On Mon, 6 Jul 2009 12:30:18 +0100, "Michael Rigby-Jones"
> <Michael.Rigby-Jones@...> said:
>
> > > Sly marketing? Frankly, if their free version went from
> doing these
> > > optimizations to not doing them (honestly, a compiler
> that doesn't
> > > take
> > > i++ and output INCF is BROKEN in my mind), and yet
> nothing was said
> > > i++ to
> > > that effect, I would call it at best sleezy, at worst
> something much
> > > worse.
> >
> >
> > The description of Lite mode on the HiTech website clearly states
> > optimisations are disabled.
> >
> > I think people are missing the point, if you wish to evaluate the
> > compiler for a commercial project, you can do so, with full
> > optimisations enabled for (I think) 45 days.  The Lite mode
> is really
> > for simple hobbyist projects where the ability to use any
> device often
> > outweighs the bloated code it produces.
>
> But what he was saying is that the free version was pretty
> good, and now it isn't.
>
> Why they would take away quality strikes me as bizarre.
>

Because they have added the ability to use any supported PIC, rather
than a tiny subset with memory limits.  You still have the choice of
using the PICCLite compiler if you are using one of the supported
devices.

 
> It's even stranger if you look at the number of compilers
> available now as opposed to when HiTech started out. There
> are a lot of good compilers for cheap or free now. And if you
> are a beginner or a hobbyist, why choose HiTech? It was
> always the compiler with the fewest features(no I/O or other
> neat functions)

If you mean clumsy and buggy peripheral library code as supplied with
some other compilers then no, they don't include that, and I for one
have never missed it.  None of the PIC's peripherals are particularly
complex to use, so writing/porting your own library code is not an
arduous task, and you end up with something that you understand
completely.

> but now it also produces the worst code. I
> certainly wouldn't try it or buy it, and I was actually a
> customer of theirs. I would not recommend it to anyone unless
> they had to do maintenance on an existing project.
>

And yet you judge this purely from their free compiler, rather than the
demo compiler that is for potential purchasers to evalutae the compiler
with?

> There's no longer a code size limit to the free version, but
> by generating code several times bigger than necessary, isn't
> that almost the same thing?

Almost, but not quite.  Are you suggesting they should give away a
compiler that has no restrictions whatsoever?

>
> I'm not sure the ability to use any chip is that appealing to
> a hobbyist or beginner. The old free compiler supported a few
> popular chips properly.
>

And they still have the choice to use that.

> I remember looking at the code generated by earlier versions
> and admiring how clever it was. The new stuff looks like junk.
>
> How can this be good for them?

Because as I explained, the ability to use any PIC is of a higher
priority than tight code for many hobbiests.  It was never designed to
provide a platform for evaluation of the generated code, the 45 day demo
is available for this.  For those who prefered the
limitations/advantages of the original compiler, it's still available.

Regards

Mike

=======================================================================
This e-mail is intended for the person it is addressed to only. The
information contained in it may be confidential and/or protected by
law. If you are not the intended recipient of this message, you must
not make any use of this information, or copy or show it to any
person. Please contact us immediately to tell us that you have
received this e-mail, and return the original to us. Any use,
forwarding, printing or copying of this message is strictly prohibited.
No part of this message can be considered a request for goods or
services.
=======================================================================

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by Bob Blick-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, 6 Jul 2009 18:14:03 +0100, "Michael Rigby-Jones"
<Michael.Rigby-Jones@...> said:

>
> Because they have added the ability to use any supported PIC, rather
> than a tiny subset with memory limits.  You still have the choice of
> using the PICCLite compiler if you are using one of the supported
> devices.
>

No. From the website:
"This 'Lite mode' compiler has replaced the old PICC-Lite™ freeware
compiler."

>  
> If you mean clumsy and buggy peripheral library code as supplied with
> some other compilers then no, they don't include that, and I for one
> have never missed it.  None of the PIC's peripherals are particularly
> complex to use, so writing/porting your own library code is not an
> arduous task, and you end up with something that you understand
> completely.
>

Many people like using the buggy functions for instant gratification.
You don't have to use them. You can use your own bug-free functions.

>
> And yet you judge this purely from their free compiler, rather than the
> demo compiler that is for potential purchasers to evalutae the compiler
> with?

Sure, why not? I don't want the internet activation of their installer,
either.

> Almost, but not quite.  Are you suggesting they should give away a
> compiler that has no restrictions whatsoever?

That's what they are doing. It's just a really embarrassing compiler.

> >
> > I'm not sure the ability to use any chip is that appealing to
> > a hobbyist or beginner. The old free compiler supported a few
> > popular chips properly.
> >
>
> And they still have the choice to use that.

No, it's not available any more.

>
> > I remember looking at the code generated by earlier versions
> > and admiring how clever it was. The new stuff looks like junk.
> >
> > How can this be good for them?
>
> Because as I explained, the ability to use any PIC is of a higher
> priority than tight code for many hobbiests.  It was never designed to
> provide a platform for evaluation of the generated code, the 45 day demo
> is available for this.  For those who prefered the
> limitations/advantages of the original compiler, it's still available.

No, it's not a high priority for everyone. People write me to say my
LCDTerm project won't fit in the chip. It's the new compiler. The old
one isn't available any more.

I say again, HiTech made some choices that made me walk away. Did those
same choices draw you closer to them? Unless the answer is yes, I'd have
to say they made bad choices, because they lost me as a customer, and it
wasn't me who started this thread, someone else thinks they made a
mistake too. I don't know anyone who has said, "Wow, this is great, I
can generate crappy code for any PIC for free, you should, too".

I'm not trying to make a big deal out of it. But I think HiTech was very
lucky to have been bought by Microchip.

Cheerful regards,

Bob

--
http://www.fastmail.fm - The professional email service


--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Sean Breheny :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 6, 2009 at 1:14 PM, Michael
Rigby-Jones<Michael.Rigby-Jones@...> wrote:
> Almost, but not quite.  Are you suggesting they should give away a
> compiler that has no restrictions whatsoever?
>

Actually, I would say yes. I have never understood companies who
expect customers to buy, for a few hundred USD, a tool which simply
makes it easier for that same customer to buy more product. It's
almost like charging me to come into the store or charging me to "buy"
ads or a catalog. Microchip is in the business of selling ICs, not
software. Their compiler cannot be used to write code for competitor's
micros, so it is an ideal "loss leader" to get you to buy more micros
from Microchip.

Even when it comes to hobbyists/students, many of them turn into
engineers eventually. It would be very helpful to plant the seed of
familiarity with your ICs, which is much more likely to happen when
you allow them free access to quality software tools to use your ICs.

Sean

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Mike Harrison :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, 6 Jul 2009 17:58:17 -0400, you wrote:

>On Mon, Jul 6, 2009 at 1:14 PM, Michael
>Rigby-Jones<Michael.Rigby-Jones@...> wrote:
>> Almost, but not quite.  Are you suggesting they should give away a
>> compiler that has no restrictions whatsoever?
>>
>
>Actually, I would say yes. I have never understood companies who
>expect customers to buy, for a few hundred USD, a tool which simply
>makes it easier for that same customer to buy more product. It's
>almost like charging me to come into the store or charging me to "buy"
>ads or a catalog. Microchip is in the business of selling ICs, not
>software. Their compiler cannot be used to write code for competitor's
>micros, so it is an ideal "loss leader" to get you to buy more micros
>from Microchip.
>
>Even when it comes to hobbyists/students, many of them turn into
>engineers eventually. It would be very helpful to plant the seed of
>familiarity with your ICs, which is much more likely to happen when
>you allow them free access to quality software tools to use your ICs.
>
>Sean

Many vendors have taken the approach of a free, unsupported  code-limited version, which means you
have full access to all the optimisations, while not losing sales to users doing larger projects for
whom the compiler cost is a small portion of overall dev costs.

The FPGA/CPLD guys also discovered this a while ago. Some of you may be old enough to remember when
entry costs for pretty much any PLD/FPGA development was well over $1K ( not counting palasm, which
was the assembler of its time)

I'd argue that these days, providing a free, reasonably performing C compiler is as essential a
sales  to a micro vendor as an assembler was 10 years ago.
Somewhat more so when the chip you are selling has such a compiler-unfriendly architecture that open
source compilers are unlikely to become a viable option as all sorts of very specific tweaks are
needed to get good performance.

Compare with Atmel, where GCC is useable and there are also free code-limited professional quality
tools (e.g. IAR).

The optimistic view is that Microchip bought Hitech so they could provide a decent free compiler,
and they will soon realise that  the way Hitech differentiatied free/paid-for products is likely to
be actively damaging to them and change to a free code-limited (I'd be happy with 4K) version.
 

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Terry Harris :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, 07 Jul 2009 00:28:16 +0100, you wrote:

>The optimistic view is that Microchip bought Hitech so they could provide a decent free compiler,
>and they will soon realise that  the way Hitech differentiatied free/paid-for products is likely to
>be actively damaging to them and change to a free code-limited (I'd be happy with 4K) version.

But Microchip already differentiate their free and paid for C18, C30 and
C32 compilers by crippling optimisation. The early versions of C32 were
code size limited and they changed to optimisation crippling.

Hi-Tech started to do what Microchip was already doing and now Microchip
bought Hi-Tech you think it will change?

The question is how crippled the compiler is without optimisation and I
know Hi-Tech PICC Pro for the 10/12/16 is much worse than C30 and probably
C32 (I haven't used C18 enough to judge).

So yes the free Hi-Tech versions could do with being less crippled but
perhaps the compiler architecture does not lend itself to just optimising a
bit.

Personally I hope Microchip reduce (eliminate)  the maintenance costs of
the Hi-Tech compilers, paying to get bugs fixed is the biggest turn off for
me.


--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Sean Breheny :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Mike,

That is pretty much my observation,  too. However, I think it is
short-sighted. If a large customer is going to buy 100K parts per year
from you, do you really care about that extra $1000 USD? I guess they
are trying to offset their software development costs by charging for
the full version of the compiler (which, I agree, is typical in this
industry), but I would think that it would generate a LOT of good will
among microcontroller users if Microchip gave away a full-featured,
free compiler for their parts.

Sean


On Mon, Jul 6, 2009 at 7:28 PM, Mike Harrison<mike@...> wrote:

> Many vendors have taken the approach of a free, unsupported  code-limited version, which means you
> have full access to all the optimisations, while not losing sales to users doing larger projects for
> whom the compiler cost is a small portion of overall dev costs.
>
> The FPGA/CPLD guys also discovered this a while ago. Some of you may be old enough to remember when
> entry costs for pretty much any PLD/FPGA development was well over $1K ( not counting palasm, which
> was the assembler of its time)
>
> I'd argue that these days, providing a free, reasonably performing C compiler is as essential a
> sales  to a micro vendor as an assembler was 10 years ago.
> Somewhat more so when the chip you are selling has such a compiler-unfriendly architecture that open
> source compilers are unlikely to become a viable option as all sorts of very specific tweaks are
> needed to get good performance.
>
> Compare with Atmel, where GCC is useable and there are also free code-limited professional quality
> tools (e.g. IAR).
>
> The optimistic view is that Microchip bought Hitech so they could provide a decent free compiler,
> and they will soon realise that  the way Hitech differentiatied free/paid-for products is likely to
> be actively damaging to them and change to a free code-limited (I'd be happy with 4K) version.
>
>
> --
> http://www.piclist.com PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Xiaofan Chen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Jul 7, 2009 at 10:28 AM, Sean Breheny<shb7@...> wrote:

> Hi Mike,
>
> That is pretty much my observation,  too. However, I think it is
> short-sighted. If a large customer is going to buy 100K parts per year
> from you, do you really care about that extra $1000 USD? I guess they
> are trying to offset their software development costs by charging for
> the full version of the compiler (which, I agree, is typical in this
> industry), but I would think that it would generate a LOT of good will
> among microcontroller users if Microchip gave away a full-featured,
> free compiler for their parts.

You have to be careful here. Doing that will irritate 3rd party compiler
vendors. So what Microchip has done with C18/C30/C32 is quite good.

On the other hand, ARM and 8051 MCU vendors normally leave the
compiler stuff for the compiler vendors. Yet they are still doing fine.
US$1000 is not a lot if your project cost a lot more. Actually Keil
and IAR typically cost more than US$1000.

--
Xiaofan http://mcuee.blogspot.com

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Xiaofan Chen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Jul 7, 2009 at 8:52 AM, Terry Harris<terry.harris@...> wrote:

> But Microchip already differentiate their free and paid for C18, C30 and
> C32 compilers by crippling optimisation. The early versions of C32 were
> code size limited and they changed to optimisation crippling.
>
> Hi-Tech started to do what Microchip was already doing and now Microchip
> bought Hi-Tech you think it will change?
>
> The question is how crippled the compiler is without optimisation and I
> know Hi-Tech PICC Pro for the 10/12/16 is much worse than C30 and probably
> C32 (I haven't used C18 enough to judge).
>
> So yes the free Hi-Tech versions could do with being less crippled but
> perhaps the compiler architecture does not lend itself to just optimising a
> bit.
>
> Personally I hope Microchip reduce (eliminate)  the maintenance costs of
> the Hi-Tech compilers, paying to get bugs fixed is the biggest turn off for
> me.

Yes that will be quite good. Microchip's paying once and free upgrade
policy for C18/C30/C32 is really good. The pricing of C18/C30/C32 is
also very good. Hopefully Hitech's compiler will follow this soon.


--
Xiaofan http://mcuee.blogspot.com

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

RE: Is Hitech C deliberately slugging code in the free version..?

by CDB-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A comment in a Microchip application note using HiTech C for UNIO
devices - brave man!

/** M A C R O S ****************************************************/
// WAIT_CCP1IF is equivalent to "while(CCP1IF == 0) {};" - the macro
//   was defined because the version of that line when compiled in
//   Lite mode is extremely inefficient.
#define WAIT_CCP1IF asm("bcf _STATUS,5"); \
                    asm("btfss _PIR1,5"); \
                    asm("goto $-1");

Sits back and waits for comments on the use of 'goto $-1' construct.
:)

Colin
--
cdb, colin@... on 7/07/2009
 
Web presence: www.btech-online.co.uk  
 
Hosted by:  www.1and1.co.uk/?k_id=7988359
 

 
 

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Terry Harris :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, 6 Jul 2009 22:28:07 -0400, you wrote:

>Hi Mike,
>
>That is pretty much my observation,  too. However, I think it is
>short-sighted. If a large customer is going to buy 100K parts per year
>from you, do you really care about that extra $1000 USD?

If you were in a position to buy 100k+ parts a year a sales rep would throw
free compilers at you if he thought it would help, but, the cost of a
compiler would be trivial to you anyway.

I got free tools from Lattice for several years for a single design win for
probably less than 200 parts total, but, it was in what they considered an
important company.

Giving away a fully optimising compiler to someone who can't afford it
today in the hope that tomorrow they will be buying thousands of parts and
buying them from you and not your competitor is a long shot IMO.

When I look at posts on the Microchip forum half the people you are giving
compilers to still won't be able to design a circuit or write a working
program tomorrow never mind buy thousands of parts.

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by Sean Breheny :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 6, 2009 at 11:32 PM, Terry Harris<terry.harris@...> wrote:
> If you were in a position to buy 100k+ parts a year a sales rep would throw
> free compilers at you if he thought it would help, but, the cost of a
> compiler would be trivial to you anyway.
>
> I got free tools from Lattice for several years for a single design win for
> probably less than 200 parts total, but, it was in what they considered an
> important company.

I have been through this, with my company (not personal projects)
several times, and I have not been able to get free software dev
tools, even from vendors we buy a considerable quantity of parts from.
They insist on nickel and dime-ing that $400 or so out of us for some
reason. Does $400 matter to us? No, not really, it's more the hassle
of having to place an order, wait for the CDs to arrive, and then keep
renewing the license, buy more copies when we need additional seats,
etc. That ends up costing, easily, $5K worth of people's time each
year.

>
> Giving away a fully optimising compiler to someone who can't afford it
> today in the hope that tomorrow they will be buying thousands of parts and
> buying them from you and not your competitor is a long shot IMO.
>
> When I look at posts on the Microchip forum half the people you are giving
> compilers to still won't be able to design a circuit or write a working
> program tomorrow never mind buy thousands of parts.

If you took the time to write the compiler in the first place and keep
it updated, for the sake of the 100k+ customers, then there is no
additional cost to giving it away to anyone else. You don't have to
provide them with technical service for it - that can be fee-based (or
based on order quantity).


Sean

>
> --
> http://www.piclist.com PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

Re: Is Hitech C deliberately slugging code in the free version..?

by William "Chops" Westfield :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jul 6, 2009, at 5:52 PM, Terry Harris wrote:

> But Microchip already differentiate their free and paid for C18, C30  
> and
> C32 compilers by crippling optimisation.

So what kind of output does microchip's free (student) version of C18  
produce for some of the examples that people have been posting?

I don't have any problems with a compiler vendor omitting their more  
complex optimizations in a free version.  I've used the free cc5x, and  
it claims this sort of behavior as well (and each compile says "the  
paid version would be N bytes smaller.") But in order for this to be  
an attractive option, the un-optimized code needs to be better than  
what Hi-tech's compiler is now emitting.   Taking 5 instructions (when  
one would do the same thing) to set a variable to zero is just not  
acceptable.  Ever.

Of course, they CAN do whatever they want.  I wasn't ever likely to  
buy the full professional version of their compiler.  I was sort of  
feeling friendly because their compiler would run on a mac, but I  
guess it is not to be.  Microchip (or Hi-tech) doesn't lose much by  
losing me as a customer; at most I might have published open-source  
code with their name attached "program compiler with Blah, version N."

BillW

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
< Prev | 1 - 2 - 3 | Next >