From: lalit_pant@... (Lalit Pant) Date: 2003-09-22T09:48:09+09:00 Subject: Performance: Ruby vs Java I'm a newcomer to Ruby, and thought I would write a little brute-force-search program to see how Ruby compares to Java - performance wise. The results surprised me (I was hoping Ruby would fare a lot better than it did!). On my WinXP box (AthlonXP 1800+, 768Meg RAM), the Ruby program takes 1min 50secs to complete, while a similar java program takes 0.6 secs. Here are the programs: Ruby (ruby 1.8.0 (2003-08-04) [i386-mswin32]): def isPrime(n) for i in 1..n-1 do for j in 1..n-1 do if i * j == n then return false end end end return true end puts isPrime(2) puts isPrime(4) puts isPrime(7) puts isPrime(25) puts isPrime(400003) Java (HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode)): public class Prime { public static void main(String[] args) { Prime p = new Prime(); System.out.println(p.isPrime(2)); System.out.println(p.isPrime(4)); System.out.println(p.isPrime(7)); System.out.println(p.isPrime(25)); System.out.println(p.isPrime(400003)); } private boolean isPrime(int n) { for (int i = 1; i < n; i++) { for (int j = 1; j < n; j++) { if (i*j == n) { return false; } } } return true; } } Kindly note that the isPrime() method above is not meant to be the most efficient way of finding primes! Any ideas on why i'm seeing such a big difference in performance?