hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6133) ReflectionUtils performance regression
Date Wed, 08 Jul 2009 22:31:14 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-6133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12728941#action_12728941

Todd Lipcon commented on HADOOP-6133:

Owen: the issue with that is that the JobConfigurable.class has to be loaded through Configuration's
ClassLoader. In order to cache it in ReflectionUtils we'd need to have a Map<ClassLoader,
Class> CACHE_JOBCONFIGURABLE_CLASSES as well. Otherwise we risk having multiple instances
of the JobConfigurable.class and checking isAssignableFrom against the wrong one.

> ReflectionUtils performance regression
> --------------------------------------
>                 Key: HADOOP-6133
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6133
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hadoop-6133-0.20.patch, Test.java
> HADOOP-4187 introduced extra calls to Class.forName in ReflectionUtils.setConf. This
caused a fairly large performance regression. Attached is a microbenchmark that shows the
following timings (ms) for 100M constructions of new instances:
> Explicit construction (new Test): around ~1.6sec
> Using Test.class.newInstance: around ~2.6sec
> ReflectionUtils on 0.18.3: ~8.0sec
> ReflectionUtils on 0.20.0: ~200sec
> This illustrates the ~80x slowdown caused by HADOOP-4187.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message