<html><head></head><body><div class="ydp204d7e4ayahoo-style-wrap" style="font-family:verdana, helvetica, sans-serif;font-size:13px;"><div></div>
<div dir="ltr" data-setdir="false">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.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">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).</div><div><br></div><div dir="ltr" data-setdir="false">The exercise that Rochus Keller is doing is quite interesting never-the-less, as it sheds light on how things have evolved.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">-Mike</div>
<div id="ydp204d7e4ayahoo_quoted_4285525336" class="ydp204d7e4ayahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
<div><br></div><div>
On Friday, July 25, 2025 at 06:00:07 AM EDT, <oberon-request@lists.inf.ethz.ch> wrote:
</div>
<div><br></div>
<div><br></div>
<div><div dir="ltr">Send Oberon mailing list submissions to<br></div><div dir="ltr"> <a href="mailto:oberon@lists.inf.ethz.ch" rel="nofollow" target="_blank">oberon@lists.inf.ethz.ch</a><br></div><div dir="ltr"><br></div><div dir="ltr">To subscribe or unsubscribe via the World Wide Web, visit<br></div><div dir="ltr"> <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="nofollow" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br></div><div dir="ltr">or, via email, send a message with subject or body 'help' to<br></div><div dir="ltr"> <a href="mailto:oberon-request@lists.inf.ethz.ch" rel="nofollow" target="_blank">oberon-request@lists.inf.ethz.ch</a><br></div><div dir="ltr"><br></div><div dir="ltr">You can reach the person managing the list at<br></div><div dir="ltr"> <a href="mailto:oberon-owner@lists.inf.ethz.ch" rel="nofollow" target="_blank">oberon-owner@lists.inf.ethz.ch</a><br></div><div dir="ltr"><br></div><div dir="ltr">When replying, please edit your Subject line so it is more specific<br></div><div dir="ltr">than "Re: Contents of Oberon digest..."<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Today's Topics:<br></div><div dir="ltr"><br></div><div dir="ltr"> 1. Re: [SPAM] [SPAM | WERBUNG] Re: Is there an Oberon System 3<br></div><div dir="ltr"> or 4 version known to work on modern Linux kernels? (Michael Schierl)<br></div><div dir="ltr"> 2. Re: Is there an Oberon System3 or 4 version known to work on<br></div><div dir="ltr"> modern Linux kernels? (Rochus Keller)<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">----------------------------------------------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 1<br></div><div dir="ltr">Date: Thu, 24 Jul 2025 23:28:02 +0200<br></div><div dir="ltr">From: Michael Schierl <<a href="mailto:schierlm@gmx.de" rel="nofollow" target="_blank">schierlm@gmx.de</a>><br></div><div dir="ltr">To: <a href="mailto:oberon@lists.inf.ethz.ch" rel="nofollow" target="_blank">oberon@lists.inf.ethz.ch</a><br></div><div dir="ltr">Subject: Re: [Oberon] [SPAM] [SPAM | WERBUNG] Re: Is there an Oberon<br></div><div dir="ltr"> System 3 or 4 version known to work on modern Linux kernels?<br></div><div dir="ltr">Message-ID: <<a href="mailto:6691c104-48bb-464a-a287-ba2376580200@gmx.de" rel="nofollow" target="_blank">6691c104-48bb-464a-a287-ba2376580200@gmx.de</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=UTF-8; format=flowed<br></div><div dir="ltr"><br></div><div dir="ltr">Hello Rochus,<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Am 24.07.2025 um 02:19 schrieb Rochus Keller:<br></div><div dir="ltr">> <br></div><div dir="ltr">> In case anyone is interested, I migrated a subset of the Are-we-fast-yet benchmark suite to Oberon 90<br></div><div dir="ltr">> and run it on the Oberon System V4 release 1.7 x86 on two different machines and Linux versions.<br></div><div dir="ltr">> <br></div><div dir="ltr">> The summary can be found at github.com/rochus-keller/Are-we-fast-yet/blob/main/Oberon90/Results/Summary.md<br></div><div dir="ltr">> It compares the Oberon with the C performance with different optimization levels.<br></div><div dir="ltr"><br></div><div dir="ltr">That does not surprise me at all. More interesting would be using a <br></div><div dir="ltr">"period correct" gcc version (i.e. something created at the same time as <br></div><div dir="ltr">the Oberon compiler, more like gcc2 than gcc12).<br></div><div dir="ltr"><br></div><div dir="ltr">Or at least limit it to the instruction set emitted by the Oberon <br></div><div dir="ltr">compiler (I assume it is equivalent to -march=i386). Modern gcc versions <br></div><div dir="ltr">usually either target MMX or even AVX and this makes a huge difference <br></div><div dir="ltr">when unrolling loops with maths in them.<br></div><div dir="ltr"><br></div><div dir="ltr">And on the other hand, when you want to see what an optimizing compiler <br></div><div dir="ltr">can do on your machine, use "-march=native -mtune=native" to generate <br></div><div dir="ltr">code that uses the exact instruction set of the machine you are <br></div><div dir="ltr">compiling on (Spoiler: Probably not much difference. However, it will <br></div><div dir="ltr">*decrease* the gap between 32-bit and 64-bit as the default 32-bit <br></div><div dir="ltr">target is something like Pentium2 and the default 64-bit target is quite <br></div><div dir="ltr">a bit newer).<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Regards,<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Michael<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 2<br></div><div dir="ltr">Date: Fri, 25 Jul 2025 02:21:38 +0200<br></div><div dir="ltr">From: Rochus Keller <<a href="mailto:me@rochus-keller.ch" rel="nofollow" target="_blank">me@rochus-keller.ch</a>><br></div><div dir="ltr">To: <a href="mailto:oberon@lists.inf.ethz.ch" rel="nofollow" target="_blank">oberon@lists.inf.ethz.ch</a><br></div><div dir="ltr">Subject: Re: [Oberon] Is there an Oberon System3 or 4 version known to<br></div><div dir="ltr"> work on modern Linux kernels?<br></div><div dir="ltr">Message-ID: <<a href="mailto:zJcjGYtPBl91XcdXGaH6eg@hld" rel="nofollow" target="_blank">zJcjGYtPBl91XcdXGaH6eg@hld</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=utf-8<br></div><div dir="ltr"><br></div><div dir="ltr">@ Michael Schierl<br></div><div dir="ltr"><br></div><div dir="ltr">Thanks for the feedback. I didn't look at the details of the OP2 code generator, just at the <br></div><div dir="ltr">modification history. The version included with the Oberon System V4 in use is not younger <br></div><div dir="ltr">than 1997, and the modification date of the source files is 2004. The Pentium Pro (i686) <br></div><div dir="ltr">appeared in 1995. Both GCC versions I used default to i686, so I left the architecture as is.<br></div><div dir="ltr"><br></div><div dir="ltr">Unfortunately I don't have "period correct" GCC versions, but I think it is fair to assume that at <br></div><div dir="ltr">least the -O0 version could be expected to have generated code with similar performance as <br></div><div dir="ltr">todays versions. <br></div><div dir="ltr"><br></div><div dir="ltr">To be on the safe side, I re-run the benchmarks on the EliteBook with GCC 4.8.2 with explicit <br></div><div dir="ltr">"-march=i486 -mno-mmx" options. The comments in the Oberon source code state <br></div><div dir="ltr">"code generator for Intel i386, i387/ i486", so I assume that -march=i486 is a fair choice<br></div><div dir="ltr">(-mno-mmx is redundant when using -march=i486).<br></div><div dir="ltr"><br></div><div dir="ltr">I added the results to a new sheet in the file "Results Mint Rebecca HP EliteBook 2530p.ods".<br></div><div dir="ltr">As you can see, the results are pretty much the same. Maybe NBody would have rendered a <br></div><div dir="ltr">bigger difference, but it doesn't work so far, and I didn't use it.<br></div><div dir="ltr"><br></div><div dir="ltr">Best regards<br></div><div dir="ltr">R.K.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Subject: Digest Footer<br></div><div dir="ltr"><br></div><div dir="ltr">--<br></div><div dir="ltr"><a href="mailto:Oberon@lists.inf.ethz.ch" rel="nofollow" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br></div><div dir="ltr"><a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="nofollow" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">End of Oberon Digest, Vol 253, Issue 8<br></div><div dir="ltr">**************************************<br></div></div>
</div>
</div></div></body></html>