jtimeit.py =========== from java.lang import System from java.net import URL from java.io import * import Main def jtimeit(f,args): start=System.currentTimeMillis() f(*args) end=System.currentTimeMillis() return end-start def sum(seq): # no sum in Jython 2.1, we will use reduce return reduce(lambda x,y:x+y,seq) def avg(seq): return sum(seq)/len(seq) def main(): url1='http://www.google.com' url2='http://www.yahoo.com' # single hits print url1, ' takes ',jtimeit(Main.doHttpGet,[url1]),' ms\n' print url2, ' takes ',jtimeit(Main.doHttpGet,[url2]),' ms\n' # average over 10 hits g=[] y=[] for i in range(10): g.append(jtimeit(Main.doHttpGet,[url1])) y.append(jtimeit(Main.doHttpGet,[url2])) print url1, ' on average takes ', avg(g),' ms'; print url2, ' on average takes ', avg(y),' ms'; if __name__=='__main__': main() Main.java ========== import java.net.*; import java.io.*; public class Main { public static void doHttpGet(String url) throws Exception { HttpURLConnection conn=(HttpURLConnection)(new URL(url)).openConnection(); conn.setRequestMethod("GET"); conn.connect(); String inputLine; BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); while ((inputLine = reader.readLine()) != null) { // System.out.println(inputLine); } reader.close(); conn.disconnect(); }