List of usage examples for org.apache.hadoop.io LongWritable set
public void set(long value)
From source file:org.apache.giraph.block_app.library.ReusableSuppliers.java
License:Apache License
/** * Transforms primitive long supplier into * LongWritable supplier, with object being reused, * to minimize GC overhead.//from w ww .ja v a 2 s . c o m */ public static <I extends WritableComparable, V extends Writable, E extends Writable> SupplierFromVertex<I, V, E, LongWritable> fromLong( Obj2LongFunction<Vertex<I, V, E>> supplier) { LongWritable reusable = new LongWritable(); return (vertex) -> { reusable.set(supplier.apply(vertex)); return reusable; }; }
From source file:org.apache.giraph.combiner.MinimumLongMessageCombiner.java
License:Apache License
@Override public void combine(LongWritable vertexIndex, LongWritable originalMessage, LongWritable messageToCombine) { if (originalMessage.get() > messageToCombine.get()) { originalMessage.set(messageToCombine.get()); }// ww w . j a va 2 s .c om }
From source file:org.apache.giraph.comm.messages.primitives.LongDoubleMessageStore.java
License:Apache License
@Override public void addPartitionMessages(int partitionId, VertexIdMessages<LongWritable, DoubleWritable> messages) throws IOException { LongWritable reusableVertexId = new LongWritable(); DoubleWritable reusableMessage = new DoubleWritable(); DoubleWritable reusableCurrentMessage = new DoubleWritable(); Long2DoubleOpenHashMap partitionMap = map.get(partitionId); synchronized (partitionMap) { VertexIdMessageIterator<LongWritable, DoubleWritable> iterator = messages.getVertexIdMessageIterator(); while (iterator.hasNext()) { iterator.next();/*ww w . j a v a2s . com*/ long vertexId = iterator.getCurrentVertexId().get(); double message = iterator.getCurrentMessage().get(); if (partitionMap.containsKey(vertexId)) { reusableVertexId.set(vertexId); reusableMessage.set(message); reusableCurrentMessage.set(partitionMap.get(vertexId)); messageCombiner.combine(reusableVertexId, reusableCurrentMessage, reusableMessage); message = reusableCurrentMessage.get(); } partitionMap.put(vertexId, message); } } }
From source file:org.apache.giraph.comm.messages.primitives.LongLongMessageStore.java
License:Apache License
@Override public void addPartitionMessage(int partitionId, LongWritable destVertexId, LongWritable message) throws IOException { // TODO-YH: this creates a new object for EVERY message, which // can result in substantial overheads. ///*from ww w . j ava2s. co m*/ // A better solution is to have a resuable LongWritable for each // partition id (i.e., per-instance map), which are then automatically // protected when synchronized on partitionMap below. LongWritable reusableCurrentMessage = new LongWritable(); Long2LongOpenHashMap partitionMap = map.get(partitionId); synchronized (partitionMap) { long vertexId = destVertexId.get(); long msg = message.get(); if (partitionMap.containsKey(vertexId)) { reusableCurrentMessage.set(partitionMap.get(vertexId)); messageCombiner.combine(destVertexId, reusableCurrentMessage, message); msg = reusableCurrentMessage.get(); } partitionMap.put(vertexId, msg); } }
From source file:org.apache.giraph.comm.messages.primitives.LongLongMessageStore.java
License:Apache License
@Override public void addPartitionMessages(int partitionId, VertexIdMessages<LongWritable, LongWritable> messages) throws IOException { LongWritable reusableVertexId = new LongWritable(); LongWritable reusableMessage = new LongWritable(); LongWritable reusableCurrentMessage = new LongWritable(); Long2LongOpenHashMap partitionMap = map.get(partitionId); synchronized (partitionMap) { VertexIdMessageIterator<LongWritable, LongWritable> iterator = messages.getVertexIdMessageIterator(); while (iterator.hasNext()) { iterator.next();/*from w w w . j a va2s . c o m*/ long vertexId = iterator.getCurrentVertexId().get(); long message = iterator.getCurrentMessage().get(); if (partitionMap.containsKey(vertexId)) { reusableVertexId.set(vertexId); reusableMessage.set(message); reusableCurrentMessage.set(partitionMap.get(vertexId)); messageCombiner.combine(reusableVertexId, reusableCurrentMessage, reusableMessage); message = reusableCurrentMessage.get(); } partitionMap.put(vertexId, message); } } }
From source file:org.apache.giraph.conf.TestObjectCreation.java
License:Apache License
@Test public void testCreateClass() { startNanos = TIME.getNanoseconds();/*w w w .j av a 2 s . c o m*/ for (int i = 0; i < COUNT; ++i) { LongWritable value = configuration.createVertexValue(); value.set(i); total += value.get(); } }
From source file:org.apache.giraph.conf.TestObjectCreation.java
License:Apache License
@Test public void testNativeCreateClass() { startNanos = TIME.getNanoseconds();// w ww . j a v a2 s .c om for (int i = 0; i < COUNT; ++i) { LongWritable value = new LongWritable(); value.set(i); total += value.get(); } }
From source file:org.apache.giraph.conf.TestObjectCreation.java
License:Apache License
@Test public void testNewInstance() throws IllegalAccessException, InstantiationException { startNanos = TIME.getNanoseconds();/*from www .j a v a 2 s .c o m*/ for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) getLongWritableClass().newInstance(); value.set(i); total += value.get(); } }
From source file:org.apache.giraph.conf.TestObjectCreation.java
License:Apache License
@Test public void testSyncNewInstance() throws IllegalAccessException, InstantiationException { startNanos = TIME.getNanoseconds();//from ww w . j av a2 s. co m for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) getSyncLongWritableClass().newInstance(); value.set(i); total += value.get(); } }
From source file:org.apache.giraph.conf.TestObjectCreation.java
License:Apache License
@Test public void testReflectionUtilsNewInstance() throws IllegalAccessException, InstantiationException { // Throwaway to put into cache org.apache.hadoop.util.ReflectionUtils.newInstance(LongWritable.class, null); startNanos = TIME.getNanoseconds();/*from w w w . j a v a 2 s.co m*/ for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) org.apache.hadoop.util.ReflectionUtils .newInstance(getLongWritableClass(), null); value.set(i); total += value.get(); } }