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

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

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

by David Meiklejohn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

William \"Chops\" Westfield wrote:
>
> 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.

Why?  How much is it costing you?

Yes, individual cases, such as generating 5 instructions when 1 would do,
are atrocious, but overall the "Lite mode" code is 40-50% bigger than the
optimised version (HI-TECH's estimate, but also what I've seen in my own
comparisons with PICC-Lite).

Now consider that the old PICC-Lite typically limited you to half the
program memory.  If the new compiler now lets you use the whole program
memory, but generates code 50% larger, you actually come out ahead - i.e.
you can write longer programs (more lines of source code) than before.

And since HI-TECH C PRO allows access to every bank of data memory (unlike
PICC-Lite for most of the devices it supports), and does not appear to
allocate registers any less efficiently than PICC-Lite (especially for
memory-hungry structures such as arrays - a 16-byte array is a 16-byte
array), it's possible to write more data-intensive code, for a wider range
of devices, than before - for free.

Overall, I don't see any downside, other than the code being ugly.

That's for midrange PICs.  Different story for the baseline architecture,
where PICC-Lite supports every device and has no program or data memory
size restrictions.  Also the 12F629/675 is fully supported with no
restrictions by PICC-Lite.  Then you're better off with PICC-Lite, every
time.

But for something like a 16F690 or 16F887, you're actually better off
using the new unoptimised compiler, despite them being supported by
PICC-Lite.

Just don't look at how ugly the generated code is!


Regards,

David Meiklejohn
www.gooligum.com.au



--
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 Artem Zezyulinskiy / SEDATELEC :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bob Blick a écrit :

> No. From the website:
> "This 'Lite mode' compiler has replaced the old PICC-Lite^(TM) freeware
> compiler."
>  
>>
>> And they still have the choice to use that.
>>    
>
> No, it's not available any more.
>  

Bob, it's always available on the site of Hi-Tech :


      HI-TECH PICC-Lite^^(TM) v9.60PL2 Compiler - legacy compiler:

http://www.htsoft.com/products/compilers/PICC-lite.php

and new


      HI-TECH C Compiler for PIC10/12/16 MCUs (Lite) - FREEWARE:

http://www.htsoft.com/products/compilers/piccpro-modes.php

I hope this will help you to provide the old version of compiler for
your project.

--
Artem ZEZYULINSKIY


--
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 thefree version..?

by Alan B. Pearce-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

But IIRC, there is still some basic optimisation done, it is just the higher
levels get turned off, which in the case of C18, also involve the use of the
extended instruction set which is supposedly designed to be instructions
designed for compiler efficient code.

I haven't checked what the different levels do in C30, but in the case of
C30 & C32, what gets turned off in the free version is access to the non-gcc
optimiser module that they have. I suspect this may be a peephole optimiser
rather like the Small-C compiler has.

Speaking of which, for the Hi-Tech compiler, how hard would it be to make a
peephole optimiser using something like Perl? Does Hi-Tech produce an
assembler source file that can be processed? Which version of the Hi-Tech
compiler is supplied with MPLAB? The current version or the older 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 Mike Harrison :: 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? 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.
>

There is another issue here - maintainance.
As a consultant I do designs for other companies, who expect to be able to take the work I've done
in the past and maintain it either themselves or by another consultant. In this scenario, paid-for
tools are an additional inconvenience & hassle.

I think the primary reason for  Microchip's success so far has been that they realised that small
users are important.
Nowadays, everyone expects to program a  micro in C, and most of the competition have free C
solutions, either GCC based or proprietory ( the latter sometimes code limited, but to a limit that
is still very useable).
Microchip's architecture _needs_ a proprietory compiler to work well, and unless they provide  a
better solution I think they will start losing out.
I currently 'default' to Atmel or ARM parts due to the availability of free code-limited
professional tools from IAR, and only used a PIC on a recent fast-turnround project as the pin
count/price fit was better than the ATmel parts I was familiar with & I knew the particular PIC well
from the past - it was only after getting stuck into it that I discovered  how broken the compiler
was and have ended up converting much of it to inlne assembler.
Next time I will spend longer looking at alternatives from other manufacturers.

 


--
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 19:07
> To: Microcontroller discussion list - Public.
> Subject: RE: [PIC] Is Hitech C deliberately slugging code in
> the free version..?
>
> 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(tm)
> freeware compiler."
>
> No, it's not available any more.


The original 'legacy' PICC-Lite compiler is downloadable from
http://www.htsoft.com/products/compilers/PICC-lite.php (once you have
registered).

Sure it's not going to get developed any more, but it's available and
useable.

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 Tue, 7 Jul 2009 12:02:58 +0100, "Michael Rigby-Jones"
<Michael.Rigby-Jones@...> said:

> >
> > No. From the website:
> > "This 'Lite mode' compiler has replaced the old PICC-Lite(tm)
> > freeware compiler."
> >
> > No, it's not available any more.
>
>
> The original 'legacy' PICC-Lite compiler is downloadable from
> http://www.htsoft.com/products/compilers/PICC-lite.php (once you have
> registered).

Thanks. There's no link to that from anywhere on their website as far as
I can tell. Definitely nothing by the normal "downloads" path.

Cheerful regards,

Bob

--
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are

--
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 Tue, 2009-07-07 at 16:30 +1000, David Meiklejohn wrote:
> Overall, I don't see any downside, other than the code being ugly.

Umm, speed!??!? Let's see, taking 5 times LONGER to set something to
zero vs. the old version of the free compiler?

It's simply not acceptable, there is zero excuse. Had they been the only
option the situation would be horrible. As it is, it simply ensures I
won't consider their products at all, today, or tomorrow.

When a company does something sleezy like this it almost permanently
puts them on my "not interested" list.

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 Bob Blick-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> >
> > The original 'legacy' PICC-Lite compiler is downloadable from
> > http://www.htsoft.com/products/compilers/PICC-lite.php (once you have
> > registered).


The file does not exist, after logging in you just get into an endless
loop. Maybe they just don't want anyone to have it.

-Bob

--
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are

--
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 Alan B. Pearce-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>The file does not exist, after logging in you just get into
>an endless loop. Maybe they just don't want anyone to have it.

Hmm, I downloaded it today, from that link ...

I did have to register first.
--
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 Tue, 7 Jul 2009 17:31:23 +0100, "Alan B. Pearce"
<Alan.B.Pearce@...> said:
> >The file does not exist, after logging in you just get into
> >an endless loop. Maybe they just don't want anyone to have it.
>
> Hmm, I downloaded it today, from that link ...
>
> I did have to register first.

After trying it a few times, I tried downloading one of the other
products, and that worked. Then I tried PICCLite again and it worked.
Weird.

-Bob

--
http://www.fastmail.fm - Choose from over 50 domains or use your own

--
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: 07 July 2009 17:04
> To: Microcontroller discussion list - Public.
> Subject: Re: [PIC] Is Hitech C deliberately slugging code in
> the free version..?
>
> On Tue, 2009-07-07 at 16:30 +1000, David Meiklejohn wrote:
> > Overall, I don't see any downside, other than the code being ugly.
>
> Umm, speed!??!? Let's see, taking 5 times LONGER to set
> something to zero vs. the old version of the free compiler?
>
> It's simply not acceptable, there is zero excuse. Had they
> been the only option the situation would be horrible. As it
> is, it simply ensures I won't consider their products at all,
> today, or tomorrow.


Do you also believe that HiTech's previous FREE compiler was
unacceptable because it only supported a very few devices and had memory
limits on most of them?

They are now simply offering an alternative FREE compiler that is
crippled in a different way.  How on earth is this 'not acceptable'?
Does someone currently have a gun pressed to you head forcing you to use
this particular free compiler?  It's apparently very acceptable for a
large number of users who can now use any PIC they want, albeit with
higher memory usage and slower execution times.

Had you paid money for a compiler with this kind of performance I could
understand your attitude, but I am at a complete loss to understand this
outcry about a FREE product.

As for refusing to consider future purchases on the performance of a
free crippled compiler, this is sheer bloody mindedness (which of course
you are entirely entitled to).  If I were considering purchasing a
compiler, my peers would rightly consider me a fool for judging it's
performance on a crippled version if a full performance, uncrippled
version was freely available for evaluation.

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 Herbert Graf-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, 2009-07-07 at 19:34 +0100, Michael Rigby-Jones wrote:
> Do you also believe that HiTech's previous FREE compiler was
> unacceptable because it only supported a very few devices and had memory
> limits on most of them?

Nope, since that's the way it had always been. People knew going in what
the limitations were.

> They are now simply offering an alternative FREE compiler that is
> crippled in a different way.  How on earth is this 'not acceptable'?

It isn't an alternative, it's a replacement. Yes, the old one is still
available, but it's not going to be updated. Anyone familiar with
compilers knows that a compiler that isn't receiving bug fixes is worse
then useless, it WILL end up wasting your time.

> Does someone currently have a gun pressed to you head forcing you to use
> this particular free compiler?  It's apparently very acceptable for a
> large number of users who can now use any PIC they want, albeit with
> higher memory usage and slower execution times.

I never said it wasn't useful.

> Had you paid money for a compiler with this kind of performance I could
> understand your attitude, but I am at a complete loss to understand this
> outcry about a FREE product.

My outcry is the "redefinition" of the product. Yes, they added
something really nice, but they took a huge thing away, and DIDN'T TELL
PEOPLE ABOUT IT. That's what "grinds my gears". If they said that all
optimization was gone, that code that fit and ran at a certain speed
with the old compiler would be significantly bigger and run much slower
I'd be more understanding. They didn't: people had to figure that out by
themselves. This tells me they KNEW it would upset people, so they hid
it, hoping no-one would notice. Ooops, bad move.

> As for refusing to consider future purchases on the performance of a
> free crippled compiler, this is sheer bloody mindedness (which of course
> you are entirely entitled to).  If I were considering purchasing a
> compiler, my peers would rightly consider me a fool for judging it's
> performance on a crippled version if a full performance, uncrippled
> version was freely available for evaluation.

I'm not judging the compiler, it is what it is. I'm judging the company.

I don't like the idea of giving money to a company that treats it's
users like that. If they had been honest from the beginning I'd be a
little more OK with it. The fact that they weren't, that people had to
waste time trying to figure out why code that used to fit without issue
now requires a part much bigger on their own is unacceptable IMHO.

A compiler is supposed to SAVE you time, not waste it trying to figure
out what slimy thing the vendor did to muck things up.

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 William "Chops" Westfield :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jul 7, 2009, at 11:34 AM, Michael Rigby-Jones wrote:

> Had you paid money for a compiler with this kind of performance I  
> could
> understand your attitude, but I am at a complete loss to understand  
> this
> outcry about a FREE product.

*I* already said that it was just a personal opinion.

However, it's all tempered by "Hi-tech's free version of the C  
compiler seems to be  significantly worse at generating code than the  
free versions of every other compiler out there."  (yeah, it supports  
more different PICs.  I'm sympathetic.  Some.)


> If I were considering purchasing a compiler, my peers would rightly  
> consider me a fool for judging it's performance on a crippled  
> version if a full performance, uncrippled version was freely  
> available for evaluation.

Sure.  But I'm not judging the compiler, I'm judging the COMPANY.  I  
think it was a bad decision, indicative of the likelyhood that the  
company will make other bad decisions...

BillW

--
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 Chris McSweeny :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 6, 2009 at 12:30 PM, Michael
Rigby-Jones<Michael.Rigby-Jones@...> wrote:
> The description of Lite mode on the HiTech website clearly states
> optimisations are disabled.

Though for the code samples in the OP, it's not so much that
optimisations are disabled, but that unoptimisations are enabled! It
looks like rather than not including stuff they've actually gone to
some effort to make the free one worse. They are of course at liberty
to do this, but whilst I accept the existence of a demo version, it
does seem slightly risky business strategy when somebody might well
make a judgement on your product from the free version and never
bother to download the demo.
--
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, 7 Jul 2009 23:43:52 +0100, you wrote:

>does seem slightly risky business strategy when somebody might well
>make a judgement on your product from the free version and never
>bother to download the demo.

The compiler in lite mode issues a diagnostic like this

Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 52% smaller than in Lite mode.
The HI-TECH C PRO compiler output for this code could be 22 words smaller.
See http://microchip.htsoft.com/portal/pic_pro for more information.

Every time. Is someone smart enough to look at and understand the generated
code going to be too dim to look at and understand this diagnostic?


--
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 John Gardner-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I agree with Bob.

"By their deeds ye shall know them...".

Those that feel such behavior is acceptable are entitled
to their opinion.

Jack
--
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 Wouter van Ooijen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I totally fail to see why a company (or a person, or organization, or
whatever) should be blamed by giving something away for free. It might
be crappy in some way, but they are totally open about that! Use it at
your own free will, or ignore it. Or better: write something better
yourself, and provide that for free!

--

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: www.voti.nl/hvu

--
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 7, 2009, at 11:13 PM, Wouter van Ooijen wrote:

> Or better: write something better yourself, and provide that for free!

You did!

Thank you!

BillW

--
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 Dario Greggio (in giro) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris McSweeny ha scritto:

> On Mon, Jul 6, 2009 at 12:30 PM, Michael
> Rigby-Jones<Michael.Rigby-Jones@...> wrote:
>> The description of Lite mode on the HiTech website clearly states
>> optimisations are disabled.
>
> Though for the code samples in the OP, it's not so much that
> optimisations are disabled, but that unoptimisations are enabled! It
> looks like rather than not including stuff they've actually gone to
> some effort to make the free one worse. e free version and never
> bother to download the demo.

Hmmm, me and others have already pointed out that what we are seeing now
is "possibly" the raw output of the compiler , "unoptimized" .

--
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 Wouter van Ooijen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>> Or better: write something better yourself, and provide that for free!
>
> You did!

I am not sure my original Jal would qualify as 'better', but the current
Jal (rewritten from scratch by Kyle York and much extended) is certainly
worth a look!

http://www.casadeyork.com/jalv2/
http://code.google.com/p/jallib/

--

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: www.voti.nl/hvu

--
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 >