Uploaded image for project: 'Giraph'
  1. Giraph
  2. GIRAPH-938

Allow fast working with primitives generically

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: lib
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ikabiljo Igor Kabiljo
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: