Recent

Author Topic: How much of this is right?  (Read 1425 times)

3oheicrw

  • Guest
How much of this is right?
« 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?

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: How much of this is right?
« Reply #1 on: December 07, 2022, 09:23:58 am »
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
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: How much of this is right?
« Reply #2 on: December 07, 2022, 10:57:05 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?

While there is possibly some truth in the 15k statement, he is citing it for drama, or he would be more concrete.

Quote
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.
« Last Edit: December 07, 2022, 11:48:53 am by marcov »

Leledumbo

  • Hero Member
  • *****
  • Posts: 8747
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: How much of this is right?
« Reply #3 on: December 08, 2022, 03:47:58 am »
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.

3oheicrw

  • Guest
Re: How much of this is right?
« Reply #4 on: December 08, 2022, 04:11:54 am »
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?

Leledumbo

  • Hero Member
  • *****
  • Posts: 8747
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: How much of this is right?
« Reply #5 on: December 08, 2022, 04:47:04 am »
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.

iahung

  • New Member
  • *
  • Posts: 22
Re: How much of this is right?
« Reply #6 on: December 08, 2022, 08:08:30 am »
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

Leledumbo

  • Hero Member
  • *****
  • Posts: 8747
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: How much of this is right?
« Reply #7 on: December 08, 2022, 03:50:00 pm »
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).

Thaddy

  • Hero Member
  • *****
  • Posts: 14210
  • Probably until I exterminate Putin.
Re: How much of this is right?
« Reply #8 on: December 28, 2022, 01:51:08 pm »
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..
« Last Edit: December 28, 2022, 01:53:09 pm by Thaddy »
Specialize a type, not a var.

 

TinyPortal © 2005-2018