Liste des Groupes | Revenir à cl c |
On 17/06/2024 12:30, bart wrote:Going to considerable lengths to avoid actually doing any compilation, or to somehow cache previous results (I mean things like .pch files rather than .o files).On 17/06/2024 07:22, James Kuyper wrote:What "tricks" ?On 6/13/24 10:43, Michael S wrote:>On Thu, 13 Jun 2024 13:53:54 +0200...
David Brown <david.brown@hesbynett.no> wrote:>I know more than most C programmers about how certain C compilers>
work, and what works well with them, and what is relevant for them -
though I certainly don't claim to know everything. Obviously Bart
knows vastly more about how /his/ compiler works. He also tends to
do testing with several small and odd C compilers, which can give
interesting results even though they are of little practical
relevance for real-world C development work.
>
Since he do compilers himself, he has much better feeling [that you
or me] of what is hard and what is easy, what is small and what is big,
what is fast and what is slow. That applies to all compilers except
those that are very unusual. "Major" compiler are not unusual at all.
The problem is that Bart's compiler is VERY unusual. It's customized for
his use, and he has lots of quirks in the way he thinks compilers should
work, which are very different from those of most other programmers.
>In>
particular, compilation speed is very important to him, while execution
speed is almost completely unimportant, which is pretty much the
opposite of the way most programmers prioritize those things.
Compilation speed is important to everyone. That's why so many tricks are used to get around the lack of speed in a big compiler, or so many extra resources are thrown at the problem.
That depends on the language, type of code, and target platform. Typical C code on an x86_64 platform might be two or three times slower when using a poorly optimising compiler. After all, the designers of x86 cpus put a great deal of effort into making shitty code run fast.Yes, that's one reason why you can get away without an optimiser, for sensibly written source code. But it also makes reasoning about optimal code much harder: removing superfluous instructions often makes code slower!
Les messages affichés proviennent d'usenet.