You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@crunch.apache.org by "Steven Ruppert (JIRA)" <ji...@apache.org> on 2016/04/18 21:45:25 UTC

[jira] [Created] (CRUNCH-604) Avoid expensive Writables.reloadWritableComparableCodes where possible

Steven Ruppert created CRUNCH-604:
-------------------------------------

             Summary: Avoid expensive Writables.reloadWritableComparableCodes where possible
                 Key: CRUNCH-604
                 URL: https://issues.apache.org/jira/browse/CRUNCH-604
             Project: Crunch
          Issue Type: Improvement
          Components: Core
    Affects Versions: 0.13.0
            Reporter: Steven Ruppert
            Assignee: Josh Wills


Every time `setConf` is called on TupleWritable, `Writables.reloadWritableComparableCodes(conf)` is called. Unfortunately, `SequenceFile$Reader.readValue` calls `setConf` every single time. This burns a regrettable amount of CPU time.

Attached is a patch that prevents a given TupleWritable instance from reloading the code more than once, as well as a patch to cache (hashCode-wise) reading from the actual hadoop config, which has to run regexes and stuff. I can construe situations where this would break (somehow, you modify the configuration in between reading to two values), but nothing actually sane comes to mind.



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