slightly more efficient map operation

This commit is contained in:
Joseph E. Gonzalez 2014-01-02 00:00:24 -08:00
parent 0b3efbcf62
commit 6592be2594

View file

@ -70,8 +70,13 @@ class EdgePartition[@specialized(Char, Int, Boolean, Byte, Long, Float, Double)
* applied to each edge * applied to each edge
*/ */
def map[ED2: ClassManifest](iter: Iterator[ED2]): EdgePartition[ED2] = { def map[ED2: ClassManifest](iter: Iterator[ED2]): EdgePartition[ED2] = {
val newData = iter.toArray val newData = new Array[ED2](data.size)
assert(newData.size == data.size) var i = 0
while (iter.hasNext) {
newData(i) = iter.next()
i += 1
}
assert(newData.size == i)
new EdgePartition(srcIds, dstIds, newData, index) new EdgePartition(srcIds, dstIds, newData, index)
} }