public static void benchmarkFloatLargeArrayInANewThread()
    {
        System.out.println("Benchmarking FloatLargeArray in a new thread.");
        final long length = (long) Math.pow(2, 32);
        long start = System.nanoTime();
        final FloatLargeArray array = new FloatLargeArray(length);
        System.out.println("Constructor time: " + (System.nanoTime() - start) / 1e9 + " sec");
        final int iters = 5;
        for (int it = 0; it < iters; it++) {
            start = System.nanoTime();
            Thread thread = new Thread(new Runnable()
            {
                public void run()
                {
                    for (long k = 0; k < length; k++) {
                        array.setFloat(k, 1.0f);
                        array.setFloat(k, (array.getFloat(k) + 1.0f));
                    }
                }
            });
            thread.start();
            try {
                thread.join();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            System.out.println("Computation time: " + (System.nanoTime() - start) / 1e9 + " sec");
        }
    }