@@ -0,0 +1,1438 @@
+package galileo.test.fs;%0A%0Aimport galileo.util.PerformanceTimer;%0A%0Aimport java.io.File;%0Aimport java.nio.file.Files;%0Aimport java.nio.file.StandardOpenOption;%0Aimport java.util.Random;%0A%0Apublic class ShmTest %7B%0A%0A    public static void main(String%5B%5D args) throws Exception %7B%0A        if (args.length %3C 3) %7B%0A            System.out.println(%22usage: ShmTest %3Cfilename%3E %3Csize (MB)%3E %3Citers%3E%22);%0A            System.exit(1);%0A        %7D%0A%0A        int mb = Integer.parseInt(args%5B1%5D);%0A        int iters = Integer.parseInt(args%5B2%5D);%0A%0A        for (int i = 0; i %3C iters; ++i) %7B%0A            File f = new File(args%5B0%5D + %22.%22 + i);%0A            testWrite(f, 1000000 * mb);%0A        %7D%0A%0A        for (int i = 0; i %3C iters; ++i) %7B%0A            File f = new File(args%5B0%5D + %22.%22 + i);%0A            testRead(f);%0A        %7D%0A    %7D%0A%0A    private static void testWrite(File file, int size) throws Exception %7B%0A        PerformanceTimer pt = new PerformanceTimer(%22write%22);%0A        Random r = new Random(System.nanoTime());%0A        byte%5B%5D fileData = new byte%5Bsize%5D;%0A        r.nextBytes(fileData);%0A        pt.start();%0A        Files.write(file.toPath(), fileData, StandardOpenOption.CREATE);%0A        pt.stopAndPrint();%0A    %7D%0A%0A    private static byte%5B%5D testRead(File file) throws Exception %7B%0A        PerformanceTimer pt = new PerformanceTimer(%22read%22);%0A        pt.start();%0A        byte%5B%5D fileData = Files.readAllBytes(file.toPath());%0A        pt.stopAndPrint();%0A        return fileData;%0A    %7D%0A%7D%0A

Add shared memory benchmark test