You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2014/09/18 00:05:34 UTC

[jira] [Commented] (GIRAPH-938) Allow fast working with primitives generically

    [ https://issues.apache.org/jira/browse/GIRAPH-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14138087#comment-14138087 ] 

Hudson commented on GIRAPH-938:
-------------------------------

ABORTED: Integrated in Giraph-trunk-Commit #1486 (See [https://builds.apache.org/job/Giraph-trunk-Commit/1486/])
GIRAPH-938: Allow fast working with primitives generically (ikabiljo via pavanka) (pavanka: http://git-wip-us.apache.org/repos/asf?p=giraph.git&a=commit&h=185205703ee4cd886598f5393395f19fc367f65f)
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/package-info.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/WritableWriter.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/ByteTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/TypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/PrimitiveIdTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/DoubleTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/package-info.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/BasicSet.java
* giraph-core/src/main/java/org/apache/giraph/comm/messages/primitives/IdByteArrayMessageStore.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/FloatTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/MapTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/comm/messages/primitives/IdOneMessagePerVertexStore.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/BooleanTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/IntTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/TextTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/TypeOpsUtils.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/ResettableIterator.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/BasicArrayList.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/collections/Basic2ObjectMap.java
* giraph-core/src/main/java/org/apache/giraph/edge/IdAndValueArrayEdges.java
* CHANGELOG
* giraph-core/src/main/java/org/apache/giraph/types/ops/PrimitiveTypeOps.java
* giraph-core/src/main/java/org/apache/giraph/comm/messages/InMemoryMessageStoreFactory.java
* giraph-core/src/main/java/org/apache/giraph/edge/IdAndNullArrayEdges.java
* giraph-core/src/main/java/org/apache/giraph/types/ops/LongTypeOps.java


> Allow fast working with primitives generically
> ----------------------------------------------
>
>                 Key: GIRAPH-938
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-938
>             Project: Giraph
>          Issue Type: Improvement
>          Components: lib
>            Reporter: Igor Kabiljo
>
> Currently, there are generic classes that handle any types, but are slow and take a lot of memory. So there are a lot of primitive specific classes, that just copy the same code, with different types.
> That means both huge code duplication (which makes it easy to have bugs, and have versions out of sync), and there are always usecases with types that are not covered - and so fallback to very inefficient version.
> It is extremely expensive to use wrapped classes for making things work generically - Integer, Long, etc.
> But using IntWritable, LongWritable, etc isn't, because they are mutable, and we can have one reused object, which can be used as data transfer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)