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

Josh Wills commented on CRUNCH-604:
-----------------------------------

[~blendmaster] thanks for this, looks awfully sensible. Unfortunately, the 
patch to TupleWritable didn't apply cleanly for me (some stuff about 
EMPTY_WRITABLES in the def that I don't have in master)-- are we missing some 
files, or is this a patch off of a forked version I need to adapt the patch 
against?

> 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
>         Attachments: 
> 0001-TupleWritable-only-reload-codes-once-on-setConf.patch, 
> 0001-Writables-cache-reloadWritableComparables-when-it-ha.patch
>
>
> 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)

Reply via email to