[Oberon] Is there an Oberon System 3 or 4 version known to work on modern Linux kernels? (Michael Schierl)

Mike McGaw mike at mcgawtech.com
Fri Jul 25 17:02:12 CEST 2025


 Michael Schierl makes good points, here.  After all, we are comparing two different strands of work, one of which involved a handful of persons (students) for a relatively small amount of time, leading to a compiler whose source is measured in a few thousand lines, and the other, against the bleeding edge C-based strand, which has consumed man-years (excuse me, person-years) by the hundreds if not thousands, and for which the source package certainly must be closing in on a number >= 100K lines by now.
All in all, OP2 or Oberon90 as it is being called in this thread, holds up rather well, it seems to me, in this comparison.  Speed of code execution, is one thing, and today, we can choose CPUs to suit our performance requirements to offset what the compiler may do.  I would guess that the OP2/Oberon90 compiler, on today's platforms, fairly well rips through a larger compile job (compile itself, for example), and that the C-based strands still take much longer (but gratefully not quite the same go-for-a-coffee compile experience common for 1990's C compilers running on the same hardware vintage).
The exercise that Rochus Keller is doing is quite interesting never-the-less, as it sheds light on how things have evolved.
-Mike   
 On Friday, July 25, 2025 at 06:00:07 AM EDT, <oberon-request at lists.inf.ethz.ch> wrote:  
 
 Send Oberon mailing list submissions to
    oberon at lists.inf.ethz.ch

To subscribe or unsubscribe via the World Wide Web, visit
    https://lists.inf.ethz.ch/mailman/listinfo/oberon
or, via email, send a message with subject or body 'help' to
    oberon-request at lists.inf.ethz.ch

You can reach the person managing the list at
    oberon-owner at lists.inf.ethz.ch

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Oberon digest..."


Today's Topics:

  1. Re: [SPAM] [SPAM | WERBUNG] Re: Is there an Oberon System 3
      or 4 version known to work on modern Linux kernels? (Michael Schierl)
  2. Re: Is there an Oberon System3 or 4 version known to work on
      modern Linux kernels? (Rochus Keller)


----------------------------------------------------------------------

Message: 1
Date: Thu, 24 Jul 2025 23:28:02 +0200
From: Michael Schierl <schierlm at gmx.de>
To: oberon at lists.inf.ethz.ch
Subject: Re: [Oberon] [SPAM] [SPAM | WERBUNG] Re: Is there an Oberon
    System 3 or 4 version known to work on modern Linux kernels?
Message-ID: <6691c104-48bb-464a-a287-ba2376580200 at gmx.de>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hello Rochus,


Am 24.07.2025 um 02:19 schrieb Rochus Keller:
> 
> In case anyone is interested, I migrated a subset of the Are-we-fast-yet benchmark suite to Oberon 90
> and run it on the Oberon System V4 release 1.7 x86 on two different machines and Linux versions.
> 
> The summary can be found at github.com/rochus-keller/Are-we-fast-yet/blob/main/Oberon90/Results/Summary.md
> It compares the Oberon with the C performance with different optimization levels.

That does not surprise me at all. More interesting would be using a 
"period correct" gcc version (i.e. something created at the same time as 
the Oberon compiler, more like gcc2 than gcc12).

Or at least limit it to the instruction set emitted by the Oberon 
compiler (I assume it is equivalent to -march=i386). Modern gcc versions 
usually either target MMX or even AVX and this makes a huge difference 
when unrolling loops with maths in them.

And on the other hand, when you want to see what an optimizing compiler 
can do on your machine, use "-march=native -mtune=native" to generate 
code that uses the exact instruction set of the machine you are 
compiling on (Spoiler: Probably not much difference. However, it will 
*decrease* the gap between 32-bit and 64-bit as the default 32-bit 
target is something like Pentium2 and the default 64-bit target is quite 
a bit newer).


Regards,


Michael




------------------------------

Message: 2
Date: Fri, 25 Jul 2025 02:21:38 +0200
From: Rochus Keller <me at rochus-keller.ch>
To: oberon at lists.inf.ethz.ch
Subject: Re: [Oberon] Is there an Oberon System3 or 4 version known to
    work on modern Linux kernels?
Message-ID: <zJcjGYtPBl91XcdXGaH6eg at hld>
Content-Type: text/plain; charset=utf-8

@ Michael Schierl

Thanks for the feedback. I didn't look at the details of the OP2 code generator, just at the 
modification history. The version included with the Oberon System V4 in use is not younger 
than 1997, and the modification date of the source files is 2004. The Pentium Pro (i686) 
appeared in 1995. Both GCC versions I used default to i686, so I left the architecture as is.

Unfortunately I don't have "period correct" GCC versions, but I think it is fair to assume that at 
least the -O0 version could be expected to have generated code with similar performance as 
todays versions. 

To be on the safe side, I re-run the benchmarks on the EliteBook with GCC 4.8.2 with explicit 
"-march=i486 -mno-mmx" options. The comments in the Oberon source code state 
"code generator for Intel i386, i387/ i486", so I assume that -march=i486 is a fair choice
(-mno-mmx is redundant when using -march=i486).

I added the results to a new sheet in the file "Results Mint Rebecca HP EliteBook 2530p.ods".
As you can see, the results are pretty much the same. Maybe NBody would have rendered a 
bigger difference, but it doesn't work so far, and I didn't use it.

Best regards
R.K.






------------------------------

Subject: Digest Footer

--
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
https://lists.inf.ethz.ch/mailman/listinfo/oberon


------------------------------

End of Oberon Digest, Vol 253, Issue 8
**************************************
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20250725/60f377f0/attachment.html>


More information about the Oberon mailing list