I have the Java code: public class Pi_Java_Sequential { public static void main ( final String[] args ) { final long n = 1000000000l ; final double delta = 1.0 / n ; final long startTimeNanos = System.nanoTime ( ) ; double sum = 0.0 ; for ( long i = 1 ; i <= n ; ++i ) { final double x = ( i - 0.5 ) * delta ; sum += 1.0 / ( 1.0 + x * x ) ; } final double pi = 4.0 * sum * delta ; final double elapseTime = ( System.nanoTime ( ) - startTimeNanos ) / 1e9 ; System.out.println ( "==== Java Sequential pi = " + pi ) ; System.out.println ( "==== Java Sequential iteration count = " + n ) ; System.out.println ( "==== Java Sequential elapse = " + elapseTime ) ; } }
it compiles and executes fine: javac -d . -sourcepath . Pi_Java_Sequential.java java Pi_Java_Sequential ==== Java Sequential pi = 3.1415926535899708 ==== Java Sequential iteration count = 1000000000 ==== Java Sequential elapse = 18.592387429 Transforming this into what I thought would be the equivalent X10 program: import x10.io.Console ; public class Pi_X10_Sequential { public static def main ( args : Rail[String] ! ) : void { val n : long = 1000000000l ; val delta : double = 1.0 / n ; val startTimeNanos : long = System.nanoTime ( ) ; var sum : double = 0.0 ; for ( var i : long = 1 ; i <= n ; ++i ) { val x : double = ( i - 0.5 ) * delta ; sum += 1.0 / ( 1.0 + x * x ) ; } val pi : double = 4.0 * sum * delta ; val elapseTime : double = ( System.nanoTime ( ) - startTimeNanos ) / 1e9 ; Console.OUT.println ( "==== X10 Sequential pi = " + pi ) ; Console.OUT.println ( "==== X10 Sequential iteration count = " + n ) ; Console.OUT.println ( "==== X10 Sequential elapse = " + elapseTime ) ; } } I was a bit flabbergasted to find: x10c Pi_X10_Sequential.x10 x10 Pi_X10_Sequential ==== X10 Sequential pi = 3.1415926535899708 ==== X10 Sequential iteration count = 1000000000 ==== X10 Sequential elapse = 94.852492972 Is it really the case that X10 code is 8 times slower than Java code for tight loop arithmetic? Surely not. I am hoping there is something clearly obviously wrong with my X10 code. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users