Mercurial > hg > Members > tatsuki > jungle-bench
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java @ 17:917ecf2c7350
function Measurement
author | one |
---|---|
date | Wed, 24 Dec 2014 15:48:32 +0900 |
parents | eed6235830c9 |
children | 190890be73e4 |
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java Mon Dec 08 19:11:19 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java Wed Dec 24 15:48:32 2014 +0900 @@ -1,8 +1,12 @@ package jp.ac.u_ryukyu.ie.cr.tatsuki.xml; +import java.io.BufferedWriter; +import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.io.FileWriter; import java.io.IOException; +import java.io.PrintWriter; import java.nio.ByteBuffer; import java.util.Iterator; import java.util.Random; @@ -28,37 +32,57 @@ public class extendXmlTree { - private extendXmlTree() { + public static void main(String args[]) throws FileNotFoundException, ParserConfigurationException, SAXException, + IOException { + + if (args.length != 2) { + System.out.println("Arguments are two necessary , first person count, second use Index"); + return; + } + + int maxPersonCount = Integer.parseInt(args[0]); + + boolean useIndex = false; + if (args[1].equals("true")) + useIndex = true; + + for (int personCount = 10; personCount <= maxPersonCount; personCount = personCount + 10) { + createJuGrix(useIndex, personCount); + } } - - public static JuGrix createJuGrix(boolean useIndex,int personCount ) throws ParserConfigurationException, SAXException, - FileNotFoundException, IOException { + public static JuGrix createJuGrix(boolean useIndex, int personCount) throws ParserConfigurationException, + SAXException, FileNotFoundException, IOException { Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); JungleTree readXmlTree = jungle.createNewTree("Person"); - //JungleTree readXmlTree = readXml("Person", jungle); + // JungleTree readXmlTree = readXml("Person", jungle); JungleTree orgTree = readXml("Organization", jungle); JungleTree roleTree = readXml("Role", jungle); JungleTreeEditor editor = readXmlTree.getTreeEditor(); NodePath path = new DefaultNodePath(); editor = editor.addNewChildAt(path, 0).b(); editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b(); - System.out.println("Create Tree-------------------------------"); + + long start = System.currentTimeMillis(); + for (int count = 0; count < personCount; ++count) { editor = extendsTree(editor, orgTree, roleTree, count); } + + long stop = System.currentTimeMillis(); + File file = new File("./time/createPersonTime"); + PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file,true))); + pw.println(personCount + " " + (stop - start)); + pw.close(); + System.out.println("create person time = " + (stop - start)); + System.out.println("person count = " + personCount); editor.success(); - - int PersonCount = readXmlTree.getRootNode().getChildren().at(0).b().getChildren().size(); - System.out.println("PersonCount = " + PersonCount); - System.out.println("end-------------------------------"); JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree); return jugrix; } - public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree, - int count) { + public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree, int count) { Random rdm = new Random(); int orgNum = rdm.nextInt(30); String orgId = "o:" + String.valueOf(orgNum); @@ -239,8 +263,8 @@ SAXParser saxParser = saxParserFactory.newSAXParser(); JungleTree tree = jungle.createNewTree(xml); ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree); - saxParser - .parse(new FileInputStream("/Users/one/Documents/workspace/JungleXMLReader/xml/" + xml + ".xml"), readXmlHandler); + String currentPath = System.getProperty("user.dir"); + saxParser.parse(new FileInputStream(currentPath + "/xml/" + xml + ".xml"), readXmlHandler); return readXmlHandler.getTree(); }