MJ++ 6.0 Alternatives

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

MJ++ 6.0 Alternatives

Robert Schiller
Sorry this message isn't exactly NetRexx Specific, but I'm getting kind of tired
hearing about how Microsoft has or will kill pure Java. It seems all Microsoft
has to do is merely mention something like VJ++ 6.0 and it gains so much press
attention it isn't even funny. People are already working with the Preview
release.

I must confess that I knew very little about what other companies are doing by
way of compilers in order to enhance Java performance. By visiting IBM's
AlphaWorks Web site I came up with these two compilers, High Performance
Compiler for Java and Jikes. I also understand that Sun is working on HotSpot
technology.

I hope IBM isn't using the same marketing team they used for OS/2 but it sure
seems like it to this outsider.

Has anyone on the NetRexx List used either of these compilers? Impressions?

Sorry if this is old hat to some but here's some info from AlphaWorks:

http://www.alphaworks.ibm.com/formula/

High Performance Compiler for Java compiles Java bytecode into optimized
platform-specific native (object) code. The resulting code is (generally)
significantly faster than the bytecode executed in a JVM (Java Virtual
Machine)/JIT (Just In Time) environment. The degree of performance improvement
depends upon the application.

Execution speed is an important requirement for server code. This motivates the
need for an optimizing native code compiler for Java, which will compile Java
bytecode directly into native code in the same manner as compilers for C/C++,
Fortran, Cobol and others. Unlike JIT compilers, High Performance Compiler for
Java compiles code only once - before execution time - and thus, traditional
resource-intensive optimization techniques can be applied to improve the
generated code's performance.

One possible usage scenario for the compiler is on a performance sensitive
Intranet server-side Java application where the code is ready to roll into
production. Once the application is written and debugged, the compiler can be
used on the server to create a high performance static executable.

Another scenario is for an Internet Web server to automatically invoke the
compiler to accelerate existing Java servlets. The first time a servlet is
called the Web server calls the previously created static executable. The
portability of the servlet is retained at the Java byte-code level.

This current beta release (technology preview) supports a subset of the JDK1.1.1
APIs. Dynamic class loading is not supported.

For more information on High Performance Compiler you can view the whitepaper.

Jikes is a Java compiler that translates Java source files as defined in The
Java Language Specification (Addison-Wesley, 1996) into the bytecoded
instruction set and binary format defined in The Java Virtual Machine
Specification (Addison-Wesley, 1996). Unlike other compilers, Jikes accepts the
Java language only as specified: not as a subset, variant, or superset.

In addition to strictly adhering to specifications, Jikes is faster than most
compilers and can compute the complete dependency relations in program files.
This allows for the generation of dependency makefiles suitable for use with
make. Jikes can also be run in incremental mode: after the initial compilation,
Jikes waits until prompted, determines which files have been changed, and then
does the minimal amount of work needed to bring the class files into a complete
and consistent state. This cycle can be repeated until the q command is entered
to end the compilation.
********

Robert Schiller
Schiller Computing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

dIon Gillard/Multitask Consulting/AU
Robert Schiller wrote:
>

>
> Has anyone on the NetRexx List used either of these compilers? Impressions?
>
I've tried to use Jikes on .java files generated by NetRexx, but not had
success...I admit to not trying hard, since if it didn't compile it
first time, I wasn't interested in it as a replacement....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

serkom
In reply to this post by Robert Schiller
On Mon, 16 Mar 1998 21:58:30 -0400, Robert Schiller wrote:


>Has anyone on the NetRexx List used either of these compilers? Impressions?
I made the same short test as Dion Gillard using jikes.exe to replace javac.exe on OS/2.
I could compile some "normal" *.java files and they were compiled about 20% faster.

A "direct port of HelloWorld.nrx" (I read this somewhere; copied) could be compiled to byte-code with jikes as a
javac replacement. I was not able to compile larger NetRexx generated Java source. I hope that Mike and the
Jikes people try with NetRexx's Java source. (Jikes is a early version)

It is surely possible to transform NetRexx's java source to a form jikes likes. If not internally this would be
something for an external Beautifier. (extra topic)

I have not tried alphawork's native code generator. Of course a fast(er) native NetRexx.EXE would be more
than appreciated. I use NRC.CMD some 100 times a day, so every % speed increase is welcome. But in
general I'd rather go with the JIT/Hotspot/PureJava/whatever approach. Who knows how long OS/2 will be
arround :=(

Kai Schmidt



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

Syarzhuk Kazachehnka
In reply to this post by Robert Schiller
>Execution speed is an important requirement for server code. This
motivates the
>need for an optimizing native code compiler for Java, which will
compile Java
>bytecode directly into native code in the same manner as compilers for
C/C++,
>Fortran, Cobol and others.
I would rather say, this motivates the need for using the native
language, not Java, in the first place. Java is about
platform-independence, and only about platform-independence (I know, I
can start a flame war, but face it, no one saw a production Java
application other than HTTP applets).

Syarzhuk

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

dIon Gillard/Multitask Consulting/AU
Syarzhuk Kazachehnka wrote:

>
> >Execution speed is an important requirement for server code. This
> motivates the
> >need for an optimizing native code compiler for Java, which will
> compile Java
> >bytecode directly into native code in the same manner as compilers for
> C/C++,
> >Fortran, Cobol and others.
> I would rather say, this motivates the need for using the native
> language, not Java, in the first place. Java is about
> platform-independence, and only about platform-independence (I know, I
> can start a flame war, but face it, no one saw a production Java
> application other than HTTP applets).
This last bit is flame bait, right?? I've worked on several production
java applications that aren't applets....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

Patric Bechtel-5
In reply to this post by Robert Schiller
On Tue, 17 Mar 98 10:50:07, Kai Schmidt wrote:

>>Has anyone on the NetRexx List used either of these compilers? Impressions?
>I made the same short test as Dion Gillard using jikes.exe to replace javac.exe on OS/2.
>I could compile some "normal" *.java files and they were compiled about 20% faster.
My Tests resulted in an about 5 times faster compile. At the moment, I use it as
a welcome replacement of javac during netrexx-compile (saves about 50% of the time !)

>than appreciated. I use NRC.CMD some 100 times a day, so every % speed increase is welcome. But in
yep...


Patric Bechtel



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

Patric Bechtel-5
In reply to this post by Robert Schiller
On Tue, 17 Mar 98 10:50:07, Kai Schmidt wrote:

>>Has anyone on the NetRexx List used either of these compilers? Impressions?
>I made the same short test as Dion Gillard using jikes.exe to replace javac.exe on OS/2.
>I could compile some "normal" *.java files and they were compiled about 20% faster.
My Tests resulted in an about 5 times faster compile. At the moment, I use it as
a welcome replacement of javac during netrexx-compile (saves about 50% of the time !)

>than appreciated. I use NRC.CMD some 100 times a day, so every % speed increase is welcome. But in
yep...


Patric Bechtel


Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

Martin Lafaix
In reply to this post by Robert Schiller

> From: "Kai Schmidt" <[hidden email]>
> I have not tried alphawork's native code generator.  Of course a
> fast(er) native NetRexx.EXE would be more than appreciated.  I
> use NRC.CMD some 100 times a day, so every % speed increase is
> welcome.  But in general I'd rather go with the
> JIT/Hotspot/PureJava/whatever approach.

Something you can try is a tool to keep the JVM (and the NetRexx
and Java compilers) loaded.  For example, something like:

  loop forever
    name = ask
    say COM.ibm.netrexx.process.NetRexxC.main(name)
  end

This is rudimentary, but can save a significant amount of time.

A similar but more advanced (? :-) alternative is to use devPad
or possibly maybe Visual NetRexx (Dion?).  The main point being
that these tools do not necessarily requires you to use their own
(quite limited as of today) build-in editors.

For example with devPad you can create a pad containing the
NetRexx or Java files you are working on.  You then switch to the
Details view and, to compile one or more file, you select them and
then click the Compile icon.  Your compiler's output will be shown
on the console and by simply looking at the Details view, you'll
be able to quickly find the result of the compilation (OK,
Warning, Errors, ...).

[An important point with devPad's current release is to save the
 pad just after having added a file (before editing it with your
 preferred editor).  This way devPad will not think the copy of
 your file it contains has been edited and is more current than
 the one on disk.]


Martin
--
[hidden email]
Team OS/2
http://www.mygale.org/~lafaix

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>

Reply | Threaded
Open this post in threaded view
|

Re: MJ++ 6.0 Alternatives

mcbrides
In reply to this post by Robert Schiller
>Sorry this message isn't exactly NetRexx Specific, but I'm getting kind of tired
>hearing about how Microsoft has or will kill pure Java. It seems all Microsoft
>has to do is merely mention something like VJ++ 6.0 and it gains so much press
>attention it isn't even funny. People are already working with the Preview
>release.
>

Make me appreciate that so many people understand what microsoft is really trying
to do...

>I must confess that I knew very little about what other companies are doing by
>way of compilers in order to enhance Java performance. By visiting IBM's
>AlphaWorks Web site I came up with these two compilers, High Performance
>Compiler for Java and Jikes. I also understand that Sun is working on HotSpot
>technology.
>
>I hope IBM isn't using the same marketing team they used for OS/2 but it sure
>seems like it to this outsider.
>
>Has anyone on the NetRexx List used either of these compilers? Impressions?
>

Yes. The high performance java compiler (os/2 version) works pretty well for a
beta. I've been able to compile a great deal of my java and netrexx classes to
os/2 executables... Quite interesting, but it destroys the portability of java
in doing so.

>Sorry if this is old hat to some but here's some info from AlphaWorks:
>
>http://www.alphaworks.ibm.com/formula/
>
>High Performance Compiler for Java compiles Java bytecode into optimized
>platform-specific native (object) code...

Generating platform specific executables isn't neccessarily the goal of Java. If
you want the ulitmate performance from your project, write directly in a language
that compiles to your desired platform...

--

/-------------------------------------\
| Jerry McBride                       |
|                                     |
|                ([hidden email]  |
\-------------------------------------/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>