Changeset View
Changeset View
Standalone View
Standalone View
java/src/main/java/org/softwareheritage/graph/benchmark/Browsing.java
Show All 19 Lines | public class Browsing { | ||||
* Main entrypoint. | * Main entrypoint. | ||||
* | * | ||||
* @param args command line arguments | * @param args command line arguments | ||||
*/ | */ | ||||
public static void main(String[] args) throws IOException, JSAPException { | public static void main(String[] args) throws IOException, JSAPException { | ||||
Benchmark bench = new Benchmark(); | Benchmark bench = new Benchmark(); | ||||
bench.parseCommandLineArgs(args); | bench.parseCommandLineArgs(args); | ||||
Graph graph = Graph.loadMapped(bench.args.graphPath); | Graph graph = Graph.loadMapped(bench.args.graphPath, Graph.LoadDirection.BOTH); | ||||
long[] dirNodeIds = bench.args.random.generateNodeIdsOfType(graph, bench.args.nbNodes, Node.Type.DIR); | long[] dirNodeIds = bench.args.random.generateNodeIdsOfType(graph, bench.args.nbNodes, Node.Type.DIR); | ||||
long[] revNodeIds = bench.args.random.generateNodeIdsOfType(graph, bench.args.nbNodes, Node.Type.REV); | long[] revNodeIds = bench.args.random.generateNodeIdsOfType(graph, bench.args.nbNodes, Node.Type.REV); | ||||
Endpoint dirEndpoint = new Endpoint(graph, "forward", "dir:cnt,dir:dir"); | Endpoint dirEndpoint = new Endpoint(graph, "forward", "dir:cnt,dir:dir"); | ||||
Endpoint revEndpoint = new Endpoint(graph, "forward", "rev:rev"); | Endpoint revEndpoint = new Endpoint(graph, "forward", "rev:rev"); | ||||
System.out.println("Used " + bench.args.nbNodes + " random nodes (results are in seconds):"); | System.out.println("Used " + bench.args.nbNodes + " random nodes (results are in seconds):"); | ||||
bench.createCSVLogFile(); | bench.createCSVLogFile(); | ||||
bench.timeEndpoint("ls", graph, dirNodeIds, dirEndpoint::neighbors); | bench.timeEndpoint("ls", graph, dirNodeIds, dirEndpoint::neighbors); | ||||
bench.timeEndpoint("ls -R", graph, dirNodeIds, dirEndpoint::visitPaths); | bench.timeEndpoint("ls -R", graph, dirNodeIds, dirEndpoint::visitPaths); | ||||
bench.timeEndpoint("git log", graph, revNodeIds, revEndpoint::visitNodes); | bench.timeEndpoint("git log", graph, revNodeIds, revEndpoint::visitNodes); | ||||
} | } | ||||
} | } |