view src/main/java/jp/ac/u_ryukyu/ie/cr/benchMark/persistent/JungleLogCopyBenchMark.java @ 331:74401cc27a96

fix log again
author suruga
date Sat, 08 Jul 2017 21:46:53 +0900
parents 2a0cb1f0ba4e
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.benchMark.persistent;

import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.treeEditor.DefaultTreeEditor;
import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error;
import jp.ac.u_ryukyu.ie.cr.jungleNetwork.operations.NetworkNodePath;
import jp.ac.u_ryukyu.ie.cr.jungleNetwork.persistent.PersistentJournal;
import jp.ac.u_ryukyu.ie.cr.jungleNetwork.persistent.PersistentJungle;
import org.junit.Assert;

import java.io.*;
import java.nio.ByteBuffer;

/**
 * Created by e115731 on 15/11/16.
 */
public class JungleLogCopyBenchMark {

    static ByteBuffer value = ByteBuffer.wrap("value".getBytes());
    static String key = "key";
    static int pos = 0;

    public static void main(String[] args) throws IOException {
        PersistentJournal journal1 = new PersistentJournal("commit.log");
        Jungle jungle = new PersistentJungle(journal1, "uuid",new DefaultTraverser());
        Long t1;
        Long t2;
        PrintWriter readTimeWriter = new PrintWriter(new BufferedWriter(new FileWriter(new File("./time/copyTime"))));
        jungle.createNewTree("hoge");
        JungleTree tree1 = jungle.getTreeByName("hoge");
        tree1.setBufferSize(2000);
        JungleTreeEditor editor;
        NetworkNodePath path = new NetworkNodePath();
        int count = 0;
        for (int j = 0; j < 2000; j++) {
            count++;
            editor = tree1.getJungleTreeEditor();
            Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, pos);
            NodePath childPath = path.add(pos);
            Assert.assertFalse(either.isA());
            editor = either.b();
            either = editor.putAttribute(childPath, key, value);
            JungleTreeEditor editor2 = either.b();
            t1 = System.currentTimeMillis();
            editor2.success();
            t2 = System.currentTimeMillis();
            readTimeWriter.println(count + " " + (t2 - t1));
            System.out.println(count + " = " + (t2 - t1));
            Assert.assertFalse(either.isA());
        }
        readTimeWriter.close();
        journal1.close();
    }
}