About C / Z80 optimizations (SDCC)

Pagina 4/17
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9

Van Thom

Hero (583)

afbeelding van Thom

07-09-2019, 23:26

bool relax(char *s) {
    printf (s);
    return True;
}

Van reidrac

Resident (49)

afbeelding van reidrac

08-09-2019, 00:22

PingPong wrote:

I m getting triggered by people that think their operating system must be supported at all otherwise the sw that not support must surely be crap.
Plus you not yet realized that hitech c does not support Windows nor Linux nor mac. That is because we need dosbox.
Instead on judging crap anything that does not run natively in your *beloved* os, try to do an objective comparison about the quality of object code generated.
And to be clear, judging from the progress of sdcc, we can reach the same quality of old hitech probably in the year when computers will acquire some kind of level of A. I. To show some self awareness ;-)

What I said is that SDCC is both open source and works in the operating system I use (that happens to be Linux), and because of that is a better match for me and the way I work than HI-Tech C. There's nothing more than that. What makes you think that being rude will change my mind?

Relax, I don't care what you think. You're getting upset for nothing, really.

Van PingPong

Prophet (3448)

afbeelding van PingPong

08-09-2019, 05:48

This is the same for me, your rationale makes absolutely no sense for me. As it is for the apparent reasons that justify your preference. The fact that sdcc is open source is absolutely irrelevant..
First because I do not think someone will get into a process of improving the compiler {who care about)
Second a sw is a sw. What does matter if it is doing or not its job well. Sdcc perform worse than hitech and that is a fact.
The aspect of being open source or not does not change things or makeme overestimate sdcc itself and does not change anything in my evaluation that is based only on objectivity
To summarise : it is is best a closed source sw that works as it should than a crappy open source one
And the fact that a sw is an open source does not make it better if it is not good

Van zPasi

Champion (471)

afbeelding van zPasi

08-09-2019, 10:00

PingPong wrote:

The fact that sdcc is open source is absolutely irrelevant.

It is not. It guarantees that SDCC will be available "forever". After every major os upgrade, a number of closed source software stops working because the developer has stopped support and no-one recompiles the software. Even if the SDCC project "dies", you'll still have the source so you can compile it yourself if you have to.

In this case it's not so relevant because Hi-Tech runs under DosBox, which IS open source! So it's "eternal". But in principal I understand open source philosophy.

But in practise, if I wanted to start using Hi-Tech C on my MSX-projects, these conditions should apply:

- An integration to Fusion-C toolchain.
- Hi-Tech compiler should be openly and permanently available.

The first means the Fusion C headers should be made available to HiTech compiler, and the makefile should be altered to launch the compiler under DosBox and fetch the result hex or asm back for linking.

The second is required because at some point I will release the source of my games / programs. I can't tell people to google the compiler and get it from some random site in Russia etc. If Hi-Tech C V7.80 is really free, why don't we make it available right here in MRC?

Van ToriHino

Champion (368)

afbeelding van ToriHino

08-09-2019, 10:25

Indeed the biggest problem with Hi-Tech C for now is that it is only available as some shady download, not something to openly work with. I also agree with zPasi above that having the Fusion-C toolchain and library support is a big advantage for SDCC, this is a way of working that has at least quite a big user base under members from this site.

So yes, Hi-Tech C will propably generate more efficient code (or at least parts of it), but also has its disadvantages. Once Microchip has officially declared this version (7.80 PL2) free to download and use it might get interesting to start using it over SDCC.

Van PingPong

Prophet (3448)

afbeelding van PingPong

08-09-2019, 10:57

Quote:

It is not. It guarantees that SDCC will be available "forever". After every major os upgrade, a number of closed source software stops working because the developer has stopped support and no-one recompiles the software. Even if the SDCC project "dies", you'll still have the source so you can compile it yourself if you have to.

this is the every time story that always it is said.
The reality: if the developer stops one should hope that another will carry on the development of the project itself-
Obviously because we are speaking of SDCC not the Java Virtual Machine the probability that this happen is near to zero, reasons are:
- NO interest. Who care of a SDCC z80 compiler today?
- Relative complexity: Even if it not the most complex sw thing on the world maintaining a compiler involves good knowledge of S.E. expecially when it comes to code/generation/optimization. this cut down the possible availability of another developer
- We also need to hope that the new people is somewhat capable of managing a compiler and able to keep in sync with what it is the existing one
- We also need to hope it does have time and it does not loose interest.

So in the end, you get a dead sw, with the only difference that you need to build this. However, nowadays it is likely that (as is for SDCC itself) you already have binaries avalaible. So who care about compiling it?

NO SW IS ETHERNAL. Even if you get sources the tecnology advance and make almost so hard to keep up with evolution that most of the time one start to rewrite from scratch the things.

About the free or not free debate i think it is irrelevant. Today this sw is irrelevant (again: we speak of a z80 compiler) so the creators have no interest on making profit on it by requiring license fee. Sure there are some exceptions like the M$ that refuse to make opensource a kind of archaeological sw like the MSX-BASIC interpreter but we are talking of exceptions.....

I think also that if one contact Hitech-C and ask to put publicly available the source they will acknoledge. Even if in my opinion is again irrelevant.

Van DarkSchneider

Paladin (869)

afbeelding van DarkSchneider

08-09-2019, 11:34

Hitech is a licensed program, I tried to contact them for a license and didn't responded. We can always think about "nah they don't care more about", but after some events I have seen in the retro environment, even with lawers and notifications, each one can take risk by own resposability, but in my case I am not interested to face tremendous penalties for using unlicensed software for getting some extra cycles on some parts of the code for something that is merely a hobby, even if the probability is near zero, but not zero.

And tested the free CPM version, it does not generate better conde than even older and worse compilers than SDCC.

Also, a good integration is nice, if you feel comfortable with your tools and development environment, you are more productive. So if it is native to your OS, you can integrate into your favorite IDE, etc., all that counts.

Van Timmy

Expert (110)

afbeelding van Timmy

08-09-2019, 11:57

So, to recap, every programmer here says that SDCC, and perhaps z88dk, are the superior compilers nowadays for anyone who wants to use C on the MSX.

Thanks for the recommendation.

Van PingPong

Prophet (3448)

afbeelding van PingPong

08-09-2019, 12:32

Timmy wrote:

So, to recap, every programmer here says that SDCC, and perhaps z88dk, are the superior compilers nowadays for anyone who wants to use C on the MSX.

Thanks for the recommendation.

No, it's the opposite. Hitech-C 7.8 is far superior in terms of code quality.
Otherwise, if it was not true, why all this posts have made? What the rationale ?

Van zPasi

Champion (471)

afbeelding van zPasi

08-09-2019, 12:33

PingPong][quote wrote:

The reality: if the developer stops one should hope that another will carry on the development of the project itself-

Irrelevant. If the developers abandon a project, the sources will not immediately disappear. Even if they decide to remove the sources from Git, a number of users will still have them and eventually someone will upload them back or to somewhere else.

Usually when a software stops working due os major revision change, you just have to recompile the thing to get it working again. Sometimes also minor fixes are required. But you cannot do that without the sources.

About SDCC, it's user base is large enough to guarantee that its development will not stop any time soon. But in the worst case, we still would have the sources.

I think also that if one contact Hitech-C and ask to put publicly available the source they will acknoledge.
I doubt that.

Pagina 4/17
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9