lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: lilypond and editors


From: Kress, Stephen
Subject: RE: lilypond and editors
Date: Wed, 13 Dec 2006 08:23:09 -0600


It is true that Java is, by default, a p-code style language.  However, what Bertalan Fodor was referring to is what's called the "Just in Time" compiler.  The JIT must not be confused with Java's command line compiler.  The command line compiler (or those built into IDEs) convert Java text source code into Java byte code (or p-code, if you like).  The JIT is actually part of the runtime environment which, as the p-code is accessed, converts the p-code to native machine code.

As you might imagine, this is quite a complicated task.  So much so that Sun provides two different JITs, one tuned for client access (UIs and such) which converts p-code to native code almost immediately and one tuned for longer running servers, which takes a more analytical approach, making far better choices on machine code conversion based on usage patterns.  Keep in mind to that in-lining is only one of a large variety of optimizations the JIT employs.

Based on current benchmarks, Java software runs as fast or significantly faster than even hand-written C code.  Even in Java 6 (just released) there are some very noticeable speed improvements.  All the documentation about Java being slow is either very old (still touted about by anti-Java-ers) or the result of very poor application design and implementation (even the JIT can't overcome a bad programmer; the most typical issue being that the person using Java objects still writes their code very procedure-oriented, without properly switching to the object oriented paradigm).

-----Original Message-----
From: address@hidden on behalf of Anthony W. Youngman
Sent: Wed 12/13/2006 5:23 AM
To: address@hidden
Subject: Re: lilypond and editors

In message <address@hidden>, Bertalan Fodor
<address@hidden> writes
>Certainly not. Actually the java code is compiled to machine code at
>runtime. This is slower than precompiling, but the compiled code can
>run faster than its precompiled counterpart, because the runtime
>machine will have information about how often a certain part of the
>code is called, and those calls can be made inline. Running inline code
>is much faster than procedure calls.
>
>Bert

Java code is actually a form of p-code (p standing for pseudo).
Pseudo-code engines CAN be blindingly fast.

There's a lot of history behind pseudo-code - like UCSD pascal for
example, or the example dear to me, the Pick system. At least one system
I ran implemented a lot of the Pick instruction code set in microcode,
and indeed, I understand that is the way the transputer works.

Any system with access to the first stage of a processor's pipeline and
the ability to redefine it (ie any decent modern processor - don't know
if that definition includes x86 :-) should be able to run p-code at the
same sort of speed as "native" code.

Cheers,
Wol
>
>Erik Sandberg írta:
>> On Saturday 09 December 2006 10:27, Bertalan Fodor wrote:
>>
>>> Well, what is extremely important: development time is so little in
>>>Java
>>> and with JEdit (compared to any alternatives), that I won't change this
>>> platform. The price is that it will remain slow if you don't have much
>>> memory in the machine.
>>>
>>
>> I'm not a java expert, but wouldn't it get a lot faster if you
>>compiled everything to native machine code (using gcj, for instance)?
>>
>>
>
>
>
>
>_______________________________________________
>lilypond-user mailing list
>address@hidden
>http://lists.gnu.org/mailman/listinfo/lilypond-user

--
Anthony W. Youngman - address@hidden



_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user

2006-12-13, 05:26:57
The information contained in this e-mail message and any attachments may be privileged and confidential.  If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that any review, dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify the sender immediately by replying to this e-mail and delete the message and any attachments from your computer.

2006-12-13, 08:25:13
The information contained in this e-mail message and any attachments may be privileged and confidential. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that any review, dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to this e-mail and delete the message and any attachments from your computer.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]