From: Kevin Anon Date: 2011-09-19T00:51:53+09:00 Subject: Ruby Speed Question Wrote my first Ruby program recently for a class assignment where we had to examine the speed of binary search on various array sizes in 3 different languages. After a little debugging, I managed to get the code working, but the difference in run-time between this and the other 2 languages is significant enough that I'm wondering if I did something wrong. This takes 13-14 seconds total, while Java runs in just under a quarter of a second and C# runs in well under a hundredth of a second. I'm sure some of the slowdown for Ruby is that I'm doing it in JRuby on NetBeans, but even running it through a command prompt version of Ruby only knocked a second or two off the total runtime. Ruby code is below, Java & C# code are functionally identical. # recursive binary search # array = the array to be searched # target = what to look for # first = the first index of the range # last = the last index of the range # returns the index of target value, or -1 if not found def search(list, target, first = 0, last = list.length-1) return -1 if first>last # basis (not found) mid = (first+last)/ 2 if list[mid]==target # basis (mid is target) mid elsif target