Changeset View
Changeset View
Standalone View
Standalone View
java/src/main/java/org/softwareheritage/graph/benchmark/Vault.java
package org.softwareheritage.graph.benchmark; | package org.softwareheritage.graph.benchmark; | ||||
import com.martiansoftware.jsap.JSAPException; | import com.martiansoftware.jsap.JSAPException; | ||||
import org.softwareheritage.graph.Graph; | import org.softwareheritage.graph.SwhBidirectionalGraph; | ||||
import org.softwareheritage.graph.server.Endpoint; | import org.softwareheritage.graph.server.Endpoint; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
/** | /** | ||||
* Benchmark Software Heritage | * Benchmark Software Heritage | ||||
* <a href="https://docs.softwareheritage.org/devel/swh-graph/use-cases.html#vault">vault use-case | * <a href="https://docs.softwareheritage.org/devel/swh-graph/use-cases.html#vault">vault use-case | ||||
* scenario</a>. | * scenario</a>. | ||||
* | * | ||||
* @author The Software Heritage developers | * @author The Software Heritage developers | ||||
*/ | */ | ||||
public class Vault { | public class Vault { | ||||
/** | /** | ||||
* 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); | SwhBidirectionalGraph graph = SwhBidirectionalGraph.loadMapped(bench.args.graphPath); | ||||
long[] nodeIds = bench.args.random.generateNodeIds(graph, bench.args.nbNodes); | long[] nodeIds = bench.args.random.generateNodeIds(graph, bench.args.nbNodes); | ||||
Endpoint endpoint = new Endpoint(graph, "forward", "*"); | Endpoint endpoint = new Endpoint(graph, "forward", "*"); | ||||
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("git bundle", graph, nodeIds, endpoint::visitNodes); | bench.timeEndpoint("git bundle", graph, nodeIds, endpoint::visitNodes); | ||||
} | } | ||||
} | } |