René, great work.
These are just for reference. All the same machine at different installs during the past. OpenBSD 6.5 ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second ----- NetRexx version is: NetRexx 3.08 25 Jul 2019 System is: Java Averaging: 100 measures of 100 iterations Total (full DO): 0.02145877896 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0002145877896 seconds Performance: 4_660_097_398_198 NetRexx clauses per second ( 4.660E+12 ncps) OpenBSD 6.5 ----- REXXCPS 2.2 -- Measuring REXX clauses/second ----- REXX version is: REXX-Regina_3.9.1(MT) 5.00 5 Apr 2015 System is: UNIX Averaging: 10 measures of 30 iterations Performance: 2461054 REXX clauses per second Haiku ~> rexx rexxcps.rex ----- REXXCPS 2.1 -- Measuring REXX clauses/second ----- REXX version is: REXX-ooRexx_5.0.0(MT)_64-bit 6.05 20 Feb 2019 System is: HAIKU Averaging: 100 measures of 100 iterations Total (full DO): 0.02474159 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0002474159 seconds Performance: 4041777 REXX clauses per second OpenIndiana ----- REXXCPS 2.1 -- Measuring REXX clauses/second ----- REXX version is: REXX-ooRexx_5.0.0(MT)_64-bit 6.05 16 Feb 2019 System is: SUNOS Averaging: 100 measures of 100 iterations Total (full DO): 0.02306898 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0002306898 seconds Performance: 4334825 REXX clauses per second _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
Hi Jason,
thanks for this. The NetRexx version is Mike’s work from 1996 which was never released before; I changed System.currentTimeMillis to System.nanoTime because modern hardware is just too fast; I also added the resulting CPS formatting because I could not readily understand such large numbers. I did some experimenting last night and the numbers are very consistent over the machines I have (access to). Interesting note is that one can see the drop in performance when the java vm is started with -Xinterpret. best regards, René. > On 19 Jul 2019, at 16:17, Jason Martin <[hidden email]> wrote: > > René, great work. > > These are just for reference. > > All the same machine at different installs during the past. > > > OpenBSD 6.5 > > ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second ----- > NetRexx version is: NetRexx 3.08 25 Jul 2019 > System is: Java > Averaging: 100 measures of 100 iterations > > Total (full DO): 0.02145877896 secs (average of 100 measures of 100 iterations) > Time for one iteration (1000 clauses) was: 0.0002145877896 seconds > > Performance: 4_660_097_398_198 NetRexx clauses per second > ( 4.660E+12 ncps) > > OpenBSD 6.5 > > ----- REXXCPS 2.2 -- Measuring REXX clauses/second ----- > REXX version is: REXX-Regina_3.9.1(MT) 5.00 5 Apr 2015 > System is: UNIX > Averaging: 10 measures of 30 iterations > > Performance: 2461054 REXX clauses per second > > > Haiku > > ~> rexx rexxcps.rex > ----- REXXCPS 2.1 -- Measuring REXX clauses/second ----- > REXX version is: REXX-ooRexx_5.0.0(MT)_64-bit 6.05 20 Feb 2019 > System is: HAIKU > Averaging: 100 measures of 100 iterations > > Total (full DO): 0.02474159 secs (average of 100 measures of 100 iterations) > Time for one iteration (1000 clauses) was: 0.0002474159 seconds > > Performance: 4041777 REXX clauses per second > > OpenIndiana > > ----- REXXCPS 2.1 -- Measuring REXX clauses/second ----- > REXX version is: REXX-ooRexx_5.0.0(MT)_64-bit 6.05 16 Feb 2019 > System is: SUNOS > Averaging: 100 measures of 100 iterations > > Total (full DO): 0.02306898 secs (average of 100 measures of 100 iterations) > Time for one iteration (1000 clauses) was: 0.0002306898 seconds > > Performance: 4334825 REXX clauses per second > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=nsX9XcrqJ36Eo6mfSTyQX7sOf3x5_SiQdHksrKbEyaU&s=1HSOI8-EOaoJd67yvA-xveUx-UXSt_1YjhcX4l3mHyw&e= > _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
As mentioned when we talked recently, it's not clear how useful this is; the Java compiler and/or JVM might well be optimising out most of the testcase. It might be useful to inspect the 'disassembly' (code in the .class file). Mike > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of René Jansen > Sent: 19 July 2019 15:37 > To: IBM Netrexx > Subject: Re: [Ibm-netrexx] REXXCPS > > Hi Jason, > > thanks for this. The NetRexx version is Mikes work from 1996 > which was never released before; I changed > System.currentTimeMillis to System.nanoTime because modern > hardware is just too fast; I also added the resulting CPS > formatting because I could not readily understand such large > numbers. I did some experimenting last night and the numbers > are very consistent over the machines I have (access to). > > Interesting note is that one can see the drop in performance > when the java vm is started with -Xinterpret. > > best regards, > > René. > > > On 19 Jul 2019, at 16:17, Jason Martin <[hidden email]> wrote: > > > > René, great work. > > > > These are just for reference. > > > > All the same machine at different installs during the past. > > > > > > OpenBSD 6.5 > > > > ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second > ----- NetRexx > > version is: NetRexx 3.08 25 Jul 2019 > > System is: Java > > Averaging: 100 measures of 100 iterations > > > > Total (full DO): 0.02145877896 secs (average of 100 measures of 100 > > iterations) Time for one iteration (1000 clauses) was: > 0.0002145877896 > > seconds > > > > Performance: 4_660_097_398_198 NetRexx clauses > per second > > ( 4.660E+12 ncps) > > > > OpenBSD 6.5 _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
It seems that most if not all is executed; followed it with print compilations and will analyze the generated code; results are consistent with rated machine cycles. But yes, it is experimental. Had to check it in because otherwise I cannot experiment.
René. > On 19 Jul 2019, at 17:28, Mike Cowlishaw <[hidden email]> wrote: > > > As mentioned when we talked recently, it's not clear how useful this is; the > Java compiler and/or JVM might well be optimising out most of the testcase. > It might be useful to inspect the 'disassembly' (code in the .class file). > > Mike > >> -----Original Message----- >> From: [hidden email] >> [mailto:[hidden email]] On Behalf Of René Jansen >> Sent: 19 July 2019 15:37 >> To: IBM Netrexx >> Subject: Re: [Ibm-netrexx] REXXCPS >> >> Hi Jason, >> >> thanks for this. The NetRexx version is Mike’s work from 1996 >> which was never released before; I changed >> System.currentTimeMillis to System.nanoTime because modern >> hardware is just too fast; I also added the resulting CPS >> formatting because I could not readily understand such large >> numbers. I did some experimenting last night and the numbers >> are very consistent over the machines I have (access to). >> >> Interesting note is that one can see the drop in performance >> when the java vm is started with -Xinterpret. >> >> best regards, >> >> René. >> >>> On 19 Jul 2019, at 16:17, Jason Martin <[hidden email]> wrote: >>> >>> René, great work. >>> >>> These are just for reference. >>> >>> All the same machine at different installs during the past. >>> >>> >>> OpenBSD 6.5 >>> >>> ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second >> ----- NetRexx >>> version is: NetRexx 3.08 25 Jul 2019 >>> System is: Java >>> Averaging: 100 measures of 100 iterations >>> >>> Total (full DO): 0.02145877896 secs (average of 100 measures of 100 >>> iterations) Time for one iteration (1000 clauses) was: >> 0.0002145877896 >>> seconds >>> >>> Performance: 4_660_097_398_198 NetRexx clauses >> per second >>> ( 4.660E+12 ncps) >>> >>> OpenBSD 6.5 > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=8qKYlSadPIwQRE1Yk_KGwZmSF3rynXi_xzFRUnYEbyI&s=1nubtn46KWSu70fsIaCDILk6QnJ2aBhUGjKTJ1rpjtk&e= > _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
> It seems that most if not all is executed; followed it with > print compilations and will analyze the generated code; > results are consistent with rated machine cycles. But yes, it > is experimental. Had to check it in because otherwise I > cannot experiment. OK... :-) _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Jason Martin
Just because gcj is still in OpenBSD and Debian
It compiles to a executable. Slower but fun, fun, fun ... I might port to GObject and a new port of Go I am playing with netrexx$ ./rexxcps ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second ----- NetRexx version is: NetRexx 3.02 25 Jun 2013 System is: Java Averaging: 100 measures of 100 iterations Total (full DO): 0.14277458 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0014277458 seconds Performance: 700_404_791_945 NetRexx clauses per second ( 7.004E+11 ncps) _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Jason Martin
Why?
Mike, it is just good _ _ _ code in a small package. Ports to about anything. _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
Misunderstanding here? Not sure what your 'Why' and 'it' refer to?
Mike > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of Jason Martin > Sent: 19 July 2019 18:18 > To: IBM Netrexx > Subject: Re: [Ibm-netrexx] REXXCPS > > Why? > > Mike, it is just good _ _ _ code in a small package. > > Ports to about anything. > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=lF9x2G2iF4jT2HzcBUeN2yJ1BaYTmaeZykkzVeFLAbQ&s=s6c-cNVcCYYfPULiEzEeSouRaPVtHaXtO7SbVZa6A0U&e= > _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Jason Martin
A nitpick:
Performance: 4_660_097_398_198 NetRexx clauses per second ( 4.660E+12 ncps) really is not up to usual [Net]Rexx formatting standards :-) Understand why '_' rather than ',', but why all those spaces after the ':'? And on the next line .. spaces after '(' are really weird. Also, from one Jason posted: ( 7.004E+11 naps) 'E+11' is really hard to map to units; perhaps use engineering notation (exponent a multiple of 3). And 'n' is an unusual abbreviation for NetRexx :-) - - - - How about: Performance: 4,660,097 million NetRexx clauses per second (4.660E+12 NCOs) Mike _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Mike Cowlishaw
Why:
I keep playing with and porting the code. It: NetRexxR.jar I started with C# (I am not interested but fun) Did a lot with Ceylon (I am not interested but fun) And a lot with Kotlin (I am not interested but fun) I am 95% done with Vala and Gobject with test suite. I am now thousands of lines into Golang. 10 to 50 lines at a time to keep my mind occupied when I feel good. _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
OK yes ... we are talking at cross-purposes! I was referring only to the
RexxCPS code, not NetRexx in general! in other words, when I wrote: As mentioned when we talked recently, it's not clear how useful this is; the Java compiler and/or JVM might well be optimising out most of the testcase. I should have written: As mentioned when we talked recently, it's not clear how useful RexxCPS (written in NetRexx) is; the Java compiler and/or JVM might well be optimising out most of the testcase. Better? Mike > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of Jason Martin > Sent: 19 July 2019 19:39 > To: IBM Netrexx > Subject: Re: [Ibm-netrexx] REXXCPS > > Why: > > I keep playing with and porting the code. > > It: > > NetRexxR.jar > > I started with C# (I am not interested but fun) > > Did a lot with Ceylon (I am not interested but fun) > > And a lot with Kotlin (I am not interested but fun) > > I am 95% done with Vala and Gobject with test suite. > > I am now thousands of lines into Golang. > > 10 to 50 lines at a time to keep my mind occupied when I feel good. > > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=7WI6v1gLicIW2hsnBPFS2QlVz556aIb2ryp33vwWoUQ&s=rZaEyk5MCI5n8aauq1K50D1L9MRzd0gn7r-5gRPSOh8&e= > _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Jason Martin
Better? Yes.
My mind is not always there. 7.004E+11 ncps Comes from quick convert of NetRexxR.jar version 3.0.2 to shared library using gcj 4.9.4 Then compiling and linking rexxcps.java with the NetRexxR.so I sure there are bugs and missing stuff in the underlying C++ code. _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Mike Cowlishaw
Getting rid of the spaces is not hard to do; done. (I had them for easy reference when running multiple instance one after another (with client vm, server vm, zero vm, interpret etc).
About engineering … sure, I never deal with stuff like that, but I see it is an option on .format(). I would be most comfortable with kilo, mega, giga, peta etc. ➜ examples git:(master) ✗ java -Xinterpret rexxcps ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second ----- NetRexx version is: NetRexx 3.08 25 Jul 2019 System is: Java Averaging: 100 measures of 100 iterations Total (full DO): 0.19867951187 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0019867951187 seconds Performance: 503_323_161_300 NetRexx clauses per second ( 503.323E+9 cps) ➜ examples git:(master) ✗ java rexxcps ----- REXXCPS 2.1n -- Measuring NetRexx clauses/second ----- NetRexx version is: NetRexx 3.08 25 Jul 2019 System is: Java Averaging: 100 measures of 100 iterations Total (full DO): 0.01017990015 secs (average of 100 measures of 100 iterations) Time for one iteration (1000 clauses) was: 0.0001017990015 seconds Performance: 9_823_279_062_320 NetRexx clauses per second ( 9.823E+12 cps) I don’t get the part about NCO’s - n is a part of .nrx, .njp and means NetRexx there? So what is an NCO? René.
_______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
Engineering .. yes, that is the point .. exponent always a
multiple of three.
No idea how you got NCOs .. suspect spelling corrector.
I meant: NRcps [NetRexx clauses per second]!
Mike
_______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
In reply to this post by Mike Cowlishaw
I am confident that everything is executed. Generated rexxcps.java, compiled that with -g, and ran
javap -c -p -l rexxcps.class to have a look at the bytecode and match that with the source lines in the .java. Now made a .jdbrc file containing rvjansen@jetson:~/apps/netrexx-code/examples$ cat .jdbrc use . stop at rexxcps:110 run monitor thread 1 monitor list monitor locals monitor next Which sets a breakpoint at the inner loop and lists where it is and shows the thread local storage, then goes to the next statement. The monitors are executed on every stop. Then do a jdb rexxcps To see it run in utmost verbosity. It is all there, just very fast. With -XX:PrintCompilations you can see hotspot triggering compiles to native code; to see that actual native instruction de-assembly I have to install some shared libraries; will have done that in time for the presentation. René. > On 19 Jul 2019, at 20:48, Mike Cowlishaw <[hidden email]> wrote: > > OK yes ... we are talking at cross-purposes! I was referring only to the > RexxCPS code, not NetRexx in general! > > in other words, when I wrote: > > As mentioned when we talked recently, it's not clear how useful > this is; the Java compiler and/or JVM might well be optimising > out most of the testcase. > > I should have written: > > As mentioned when we talked recently, it's not clear how useful > RexxCPS (written in NetRexx) is; the Java compiler and/or JVM > might well be optimising out most of the testcase. > > Better? > > Mike > >> -----Original Message----- >> From: [hidden email] >> [mailto:[hidden email]] On Behalf Of Jason Martin >> Sent: 19 July 2019 19:39 >> To: IBM Netrexx >> Subject: Re: [Ibm-netrexx] REXXCPS >> >> Why: >> >> I keep playing with and porting the code. >> >> It: >> >> NetRexxR.jar >> >> I started with C# (I am not interested but fun) >> >> Did a lot with Ceylon (I am not interested but fun) >> >> And a lot with Kotlin (I am not interested but fun) >> >> I am 95% done with Vala and Gobject with test suite. >> >> I am now thousands of lines into Golang. >> >> 10 to 50 lines at a time to keep my mind occupied when I feel good. >> >> >> >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] >> Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=7WI6v1gLicIW2hsnBPFS2QlVz556aIb2ryp33vwWoUQ&s=rZaEyk5MCI5n8aauq1K50D1L9MRzd0gn7r-5gRPSOh8&e= >> > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=NUXOHIFkOq8mQJ2X0xfP5bef6DexZ6TE0uAp8nWegls&s=MyEhJ0Pq4JtuKeJYPqd59A9Y-prmLRc6glGqcpKsVl4&e= > _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
Sounds good!
> -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of > [hidden email] > Sent: 20 July 2019 00:03 > To: IBM Netrexx > Subject: Re: [Ibm-netrexx] REXXCPS > > I am confident that everything is executed. Generated > rexxcps.java, compiled that with -g, and ran > > javap -c -p -l rexxcps.class > > to have a look at the bytecode and match that with the source > lines in the .java. > > Now made a .jdbrc file containing > > rvjansen@jetson:~/apps/netrexx-code/examples$ cat .jdbrc use . > stop at rexxcps:110 > run > monitor thread 1 > monitor list > monitor locals > monitor next > > Which sets a breakpoint at the inner loop and lists where it > is and shows the thread local storage, then goes to the next > statement. The monitors are executed on every stop. > > Then do a > > jdb rexxcps > > To see it run in utmost verbosity. It is all there, just very > fast. With -XX:PrintCompilations you can see hotspot > triggering compiles to native code; to see that actual native > instruction de-assembly I have to install some shared > libraries; will have done that in time for the presentation. > > René. _______________________________________________ Ibm-netrexx mailing list [hidden email] Online Archive : http://ibm-netrexx.215625.n3.nabble.com/ |
Free forum by Nabble | Edit this page |