Hello, I'm comparing Crail to iperf. VM-A is used to run the server(s). VM-B is used to run the client. Both VMs are CentOS 7 with 8 GB memory + 2 CPUs. Tests runs are non-overlapping.
For the Crail case , a 1 GB file is posted to server and a simple Java client is employed (see below). Results: iperf: 4.05 Gb/seb Crail: 2.52 Gb/sec Why is iperf so much better?? Lou. ----- Crail Java Client: public static void main(String[] args) { try { //initialize String filename = "/G1.txt"; int filesize = 1024*1024*1024; int bufsize = 1024*1024; CrailBuffer buf = OffHeapBuffer.wrap(ByteBuffer.allocateDirect(bufsize)); CrailConfiguration cconf = CrailConfiguration.createConfigurationFromFile(); CrailStore cstore = CrailStore.newInstance(cconf); CrailFile file = cstore.lookup(filename).get().asFile(); CrailInputStream directStream = file.getDirectInputStream(file.getCapacity()); long sumbytes = 0; //run test long start = System.currentTimeMillis(); while (sumbytes < filesize) { buf.clear(); CrailResult cr = directStream.read(buf).get(); long ret = cr.getLen(); sumbytes = sumbytes + ret; } long end = System.currentTimeMillis(); //print result and clean-up double executionTime = ((double) (end - start)) / 1000.0; System.out.println("time: "+executionTime); cstore.close(); directStream.close(); } catch(Exception e) { e.printStackTrace(); } }