[Jmatlink-commitlog] jmatlink/src/jmatlink/testsuite Benchmark02.java,NONE,1.1
Brought to you by:
st_mueller
|
From: Stefan M. <st_...@us...> - 2006-01-21 17:50:57
|
Update of /cvsroot/jmatlink/jmatlink/src/jmatlink/testsuite In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18417/src/jmatlink/testsuite Added Files: Benchmark02.java Log Message: new benchmark for sending data to and receiving from matlab --- NEW FILE: Benchmark02.java --- package jmatlink.testsuite; import jmatlink.*; /* * This is a benchmark suite to test the power and speed of JMatLink * */ public class Benchmark02 { public static void main(String[] args) { JMatLink eng = new JMatLink(); double[][] array; double[] row; double[] column; double d; // Set debug level to display useful messages //eng.setDebug(true); System.out.println("***********************************************"); System.out.println("** Benchmark Tests **"); System.out.println("** **"); System.out.println("** If program crashes please send the output **"); System.out.println("** to st...@he... **"); System.out.println("\n\n** engGetRowVector speed **"); eng.engOpen(); eng.engEvalString("row=rand(1,50000)"); eng.engEvalString("tic"); for (int i=1; i<=100; i++) { row=eng.engGetRowVector("row"); } eng.engEvalString("duration=toc;"); System.out.println("** Duration engGetRowVector = "+ eng.engGetScalar("duration") +" s"); System.out.println("** Data rate = "+ (50000*4*100)/eng.engGetScalar("duration")/1024 + " kB/s"); eng.engClose(); try { Thread.sleep(1000); } catch (InterruptedException e) {}; System.out.println("\n\n** engGetColumnVector speed **"); eng.engOpen(); eng.engEvalString("column=rand(50000,1)"); eng.engEvalString("tic"); for (int i=1; i<=100; i++) { column=eng.engGetColumnVector("column"); } eng.engEvalString("duration=toc;"); System.out.println("** Duration engGetColumnVector = "+ eng.engGetScalar("duration") +" s"); System.out.println("** Data rate = "+ (50000*4*100)/eng.engGetScalar("duration")/1024 + " kB/s"); eng.engClose(); try { Thread.sleep(1000); } catch (InterruptedException e) {}; System.out.println("\n\n** engPutArray and engGetArray speed **"); eng.engOpen(); eng.engEvalString("array=randn(500)"); eng.engEvalString("tic"); for (int i=1; i<=10; i++) { array=eng.engGetArray("array"); eng.engEvalString("clear array"); eng.engPutArray("array",array); } eng.engEvalString("duration=toc;"); System.out.println("** Duration engPut/GetArray = "+ eng.engGetScalar("duration") +" s"); System.out.println("** Data rate = "+ (500*500*4*2*10)/eng.engGetScalar("duration")/1024 + " kB/s"); eng.engClose(); try { Thread.sleep(1000); } catch (InterruptedException e) {}; System.out.println("\n** engGetScalar and engPutArray speed **"); System.out.println("** Send and receive 10000 scalar values "); System.out.println("** to/from matlab."); eng.engOpen(); eng.engPutArray("array",0); eng.engEvalString("tic"); for (int i=1; i<=10000; i++) { eng.engPutArray("array",i); d = eng.engGetScalar("array"); } eng.engEvalString("duration=toc;"); System.out.println("** Duration engPutArray/engGetScalar = "+ eng.engGetScalar("duration") +" s"); System.out.println("** Data rate = "+ (4*2*10000)/eng.engGetScalar("duration")/1024 + " kB/s"); System.out.println("\n\n"); eng.engClose(); try { Thread.sleep(1000); } catch (InterruptedException e) {}; System.exit(0); } } |