For what it's worth, the obvious Java translation does the same thing:
class Foo{
public static void main(String[] args){
long bits = 0L;
long start = System.currentTimeMillis();
int n = 2000000001;
while (n > 0) {
bits ^= (1 << 5);
n--;
}
System.out.println(bits);
long end = System.currentTimeMillis();
System.out.println(end-start);
}
}
So it isn't a quirk of the bytecode scala produces
On Nov 30, 2007 11:18 PM, Erik Engbrecht <[EMAIL PROTECTED]> wrote:
> David,
> For me 1.5 and 1.6 perform about the same...1.6 is a little faster.
> However, -server yields the surprisingly fast results that you are seeing
> under 1.6 and -client yields the slow results that you are seeing under 1.5.
>
> It still doesn't explain why it's so fast...but it's another data point.
> I'm using an ancient computer with Linux.
>
> -Erik
>
>
> On Nov 30, 2007 5:49 PM, David Pollak < [EMAIL PROTECTED]>
> wrote:
> > I've got the following Scala code:
> > object Foo {
> > def main(argv: Array[String]) {
> > var bits = 0L
> > val start = System.currentTimeMillis()
> > var n = 2000000001
> > // var n = 2000000001L // makes things very slow
> > while (n > 0) {
> > bits = bits ^ (1 << 5)
> > n = n - 1
> > }
> > System.out.println(bits)
> > val end = System.currentTimeMillis()
> > System.out.println(end-start)
> > }
> > }
> >
> > I'm enclosing the source and the bytecode.
> >
> > There are 2B iterations.
> >
> > On my Core 2 Quad running JDK 1.6 (32 bit), the code takes 2 ms to run.
> >
> > On my Mac Book Pro (Core Duo, JDK 1.5) it takes 6,600 ms.
> >
> > The run time on the Mac seems more "reasonable". What's going on?
> >
> >
> >
> > --
> > lift, the secure, simple, powerful web framework http://liftweb.net
> > Collaborative Task Management http://much4.us
> >
> >
>
>
>
> --
> http://erikengbrecht.blogspot.com/
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM
Languages" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---