Differential D5427 Diff 19580 java/src/main/java/org/softwareheritage/graph/utils/WriteRevisionTimestamps.java
Changeset View
Changeset View
Standalone View
Standalone View
java/src/main/java/org/softwareheritage/graph/utils/WriteRevisionTimestamps.java
package org.softwareheritage.graph.utils; | package org.softwareheritage.graph.utils; | ||||
import it.unimi.dsi.fastutil.BigArrays; | import it.unimi.dsi.fastutil.BigArrays; | ||||
import it.unimi.dsi.fastutil.Size64; | import it.unimi.dsi.fastutil.Size64; | ||||
import it.unimi.dsi.fastutil.io.BinIO; | import it.unimi.dsi.fastutil.io.BinIO; | ||||
import it.unimi.dsi.fastutil.longs.LongBigArrays; | import it.unimi.dsi.fastutil.longs.LongBigArrays; | ||||
import it.unimi.dsi.fastutil.objects.Object2LongFunction; | import it.unimi.dsi.fastutil.objects.Object2LongFunction; | ||||
import it.unimi.dsi.io.FastBufferedReader; | import it.unimi.dsi.io.FastBufferedReader; | ||||
import it.unimi.dsi.io.LineIterator; | import it.unimi.dsi.io.LineIterator; | ||||
import org.softwareheritage.graph.maps.NodeIdMap; | |||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.InputStreamReader; | import java.io.InputStreamReader; | ||||
import java.nio.charset.StandardCharsets; | import java.nio.charset.StandardCharsets; | ||||
public class WriteRevisionTimestamps { | public class WriteRevisionTimestamps { | ||||
@SuppressWarnings("unchecked") // Suppress warning for Object2LongFunction cast | |||||
static Object2LongFunction<byte[]> loadMPH(String mphPath) throws IOException, ClassNotFoundException { | |||||
return (Object2LongFunction<byte[]>) BinIO.loadObject(mphPath); | |||||
} | |||||
public static void main(String[] args) throws IOException, ClassNotFoundException { | public static void main(String[] args) throws IOException, ClassNotFoundException { | ||||
System.err.print("Loading everything..."); | System.err.print("Loading everything..."); | ||||
String graphPath = args[0]; | String graphPath = args[0]; | ||||
String outputFile = args[1]; | String outputFile = args[1]; | ||||
Object2LongFunction<byte[]> mphMap = loadMPH(graphPath + ".mph"); | Object2LongFunction<byte[]> mphMap = NodeIdMap.loadMph(graphPath + ".mph"); | ||||
long nbIds = (mphMap instanceof Size64) ? ((Size64) mphMap).size64() : mphMap.size(); | long nbIds = (mphMap instanceof Size64) ? ((Size64) mphMap).size64() : mphMap.size(); | ||||
long[][] nodePerm = BinIO.loadLongsBig(graphPath + ".order"); | long[][] nodePerm = BinIO.loadLongsBig(graphPath + ".order"); | ||||
// NodeIdMap nodeIdMap = new NodeIdMap(graphPath, nbIds); | // NodeIdMap nodeIdMap = new NodeIdMap(graphPath, nbIds); | ||||
long[][] timestampArray = LongBigArrays.newBigArray(nbIds); | long[][] timestampArray = LongBigArrays.newBigArray(nbIds); | ||||
BigArrays.fill(timestampArray, Long.MIN_VALUE); | BigArrays.fill(timestampArray, Long.MIN_VALUE); | ||||
System.err.println(" done."); | System.err.println(" done."); | ||||
// TODO: wasteful to convert to/from bytes | // TODO: wasteful to convert to/from bytes | ||||
Show All 24 Lines |