Lazarus
Miscellaneous => Other => Topic started by: 3oheicrw on December 07, 2022, 08:51:13 am
-
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1360760-modula-2-language-frontend-patches-ready-for-merging-into-gcc-13?p=1360838#post1360838
Is he just misinformed or not updated his knowledge yet? My personal experience with fpc is not that terrible. How much of the story "a German company put a 15k Euro prize into the public to get it at least on par with the compiler from Delphi" is right?
-
Looks like total rubbish to me, since the participants appear unaware that there's been a Modula-2 frontend for GCC since the '90s... plus of course one for Pascal, which is why gdb has decent support for both languages.
Even if the news was that the language frontend was compatible with GCC's latest code-generation technology I'd expect them to not treat it as a completely fresh project.
As far as code-generation efficiency is concerned, I think I'd like to see examples of their complaints. I make no secret of the fact that there's complexity in the language etc. with which I'm unhappy, but I'd certainly not stick my neck out the the extent that they have.
MarkMLl
-
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1360760-modula-2-language-frontend-patches-ready-for-merging-into-gcc-13?p=1360838#post1360838
Is he just misinformed or not updated his knowledge yet?
While there is possibly some truth in the 15k statement, he is citing it for drama, or he would be more concrete.
My personal experience with fpc is not that terrible. How much of the story "a German company put a 15k Euro prize into the public to get it at least on par with the compiler from Delphi" is right?
I think I know which German company that was, even though I don't know this exact prize. The companies director had been quite active in Borland newsgroups to get them to reopen Kylix (i.e. a linux target) and using FPC as a stick to beat them. The company even maintained a Kylix crosscompiler suite (running the linux kylix compiler on Windows using an emulation shell). The 15k prize might have been one of his attempts to get Embarcadero/Borland to move.
However that director while not afraid of a bit of drama also was not afraid of a bit hard work, and putting his money where is mouth was, so he invited the Free Pascal core team in 2014 to come stay a long weekend and have some talks and hacking. (During that weekend, actually many things for what become 3.0 would be set in stone. FPC 3.0.0 was called "pestering peacock" because during the meetings, peacock screams constantly interrupted)
The core reason was his newer product would move from embedded x86 to arm, and it was time to bite the bullet and dive deep into FPC, since Kylix alone wouldn't hack it any more. The arm compiler scored really bad, but at that time had no peephole optimization whatsoever (which is important for mostly in order low powered ARMV5). It could be that this is the dramatic result the phoronix post is refering too.
Also it turned out they benchmarked the all compilers (kylix, FPC/x86 and fpc/arm) by processing randomized packets, but they put the generation of randomized packets in the timed loop. FPC uses a more random, but slower random generator and moving the packet generation outside the loop was just 15% alone or so.
An employee joined core for a while to work on the arm compiler, and nowadays that is in a totally different state. With Gareth permanently working on it, the next major version will have many more peephole optimizations.
Anyway benchmarking is an art. Don't accept figures to easily specially if you can't reproduce them or they are for odd applications. See all the threads about the gaming benchmark.
-
I'm throwing a little oil to the flame. That one single person is simply a hater, and I want to take him down, as some already do.
-
He is able to give this mailing list archive:
https://fpc-devel.freepascal.narkive.com/73u1DGBm/the-15k-bounty-optimizing-executable-speed-for-linux-x86-llvm
It's four years ago. Is anything changed now?
-
It's four years ago. Is anything changed now?
Depends on what you expect to change. For one, fpc-llvm is ready for general testing although it has much less targets that fpc native codegen. In some scenarios such as artificial benchmarks, it can produce faster (10-20%) code.
-
It's four years ago. Is anything changed now?
Depends on what you expect to change. For one, fpc-llvm is ready for general testing although it has much less targets that fpc native codegen. In some scenarios such as artificial benchmarks, it can produce faster (10-20%) code.
Windows is the most important but not available for Windows?
FPC with an LLVM code generator backend is available on the git main branch. It currently supports the following targets:
- Darwin/x86-64
- Darwin/AArch64 (macOS, untested on iOS)
- Linux/x86-64
- Linux/AArch64
- Linux/ARMHF
https://wiki.freepascal.org/LLVM
-
Windows is the most important but not available for Windows?
Apparently, it's not the most important, at least for Jonas (or me for that matter).
-
AFAIK even on Windows when CLang and its tool chain are installed. There are multiple ways to do that.
But note I use llvm just on Linux Debian and Raspberry Pies..