[antlr-interest] Re: C++ is slower than Java?
keren_jefet
keren_jefet at yahoo.com
Mon Feb 25 05:40:35 PST 2002
Thanks for the fast response.
I downloaded and tested the new 2.7.2a2 version, and results are
completely different: On all tests I run C++ runs faster.
Thanks again,
Keren.
--- In antlr-interest at y..., Ric Klaren <klaren at c...> wrote:
> Hi,
>
> On Sun, Feb 24, 2002 at 01:23:44PM -0000, keren_jefet wrote:
> > I have tested the java.g example both on Java-generated parser,
and
> > on Cpp-generated parser (antlr-2.7.1, buildAST=true).
> > Surprisingly, I found out that the Java parser, was significantly
> > faster than the Cpp one, especially when handling long java source
> > files. (sometimes even 600% faster...)
> >
> > How can that be?
> > Is this related to the specific java.g grammar definitions, or
maybe
> > it is true for all parsers, no matter of the grammar complexity?
>
> Hmm strange. Ok I had a quick look now. And noted the following:
>
> Platform specifics:
>
> ANTLR: antlr 2.7.2a1
>
> C++:
> g++ 2.95.3,
> Sun Ultra-60: Solaris 2.8, 1 Gigabyte of main memory, 450 MHz
UltraSPARC-II CPU
> All tests on a local disc.
> Relevant compiler options: -O2 -DANTLR_SUPPORT_XML -felide-
constructors
> (yields binary of 1Mb)
>
> Java:
> java version "1.2.2"
> Solaris VM (build Solaris_JDK_1.2.2_07a, native threads, sunwjit)
> jikes version 1.11 (10 jan 2000) used as javac
>
> - java.g java.tree.g from 2.7.1 distro. Generated parsers with
2.7.2a2.
> Test files the main antlr/java tree.
> - Ported one small change from java version to C++ version.
> - The C++ version of the treewalker barfs on several files. Guess
there's a
> bug or something in the 2.7.2a1 C++ codegen or javacodegen. (My
guess is
> the first)
> - Removed the files that misparsed tested again. (this makes my
results
> quite questionable I know...) But I presume that if there's no
error
> reported that the whole thing gets parsed and that the difference
should
> be neglectible (then again it might not..)
>
> Java version comes down to this:
>
> real 20.9
> user 10.7
> sys 6.6
>
> C++ version to this:
>
> real 7.1
> user 6.1
> sys 0.0
>
> These results are may vary one or two tenth per number between
runs. So I
> don't see the behaviour you do, not even the slightest indication
of it.
> You might post some more specifics on your testrig. Feel free to
mail me
> your testfiles and I'll run them here.
>
> Ric
>
> PS Oh yah and I had my xmms still playing Tristania's World of
Glass album
> which is btw very enjoyable ;)
> --
> -----
+++++*****************************************************+++++++++---
----
> ---- Ric Klaren ----- klaren at c... ----- +31 53 4893722 ----
> -----
+++++*****************************************************+++++++++---
----
> Human beings, who are almost unique in having the ability to
learn
> from the experience of others, are also remarkable for their
apparent
> disinclination to do so. --- Douglas Adams, Last Chance to
See
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list