[ 
https://issues.apache.org/jira/browse/HIVE-5018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Jakobus updated HIVE-5018:
-----------------------------------

    Description: Object instantiation inside loops is very expensive. Where 
possible, object references should be created outside the loop so that they can 
be reused.  (was: java/org/apache/hadoop/hive/ql/Context.java
java/org/apache/hadoop/hive/ql/Driver.java
java/org/apache/hadoop/hive/ql/QueryPlan.java
java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java
java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
java/org/apache/hadoop/hive/ql/exec/DDLTask.java
java/org/apache/hadoop/hive/ql/exec/DefaultBucketMatcher.java
java/org/apache/hadoop/hive/ql/exec/DemuxOperator.java
java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
java/org/apache/hadoop/hive/ql/exec/FetchOperator.java
java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java
java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java
java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java
java/org/apache/hadoop/hive/ql/exec/JoinUtil.java
java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
java/org/apache/hadoop/hive/ql/exec/MapOperator.java
java/org/apache/hadoop/hive/ql/exec/MoveTask.java
java/org/apache/hadoop/hive/ql/exec/MuxOperator.java
java/org/apache/hadoop/hive/ql/exec/OperatorFactory.java
java/org/apache/hadoop/hive/ql/exec/PTFPersistence.java
java/org/apache/hadoop/hive/ql/exec/PartitionKeySampler.java
java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java
java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java
java/org/apache/hadoop/hive/ql/exec/SkewJoinHandler.java
java/org/apache/hadoop/hive/ql/exec/StatsTask.java
java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java
java/org/apache/hadoop/hive/ql/exec/UnionOperator.java
java/org/apache/hadoop/hive/ql/exec/Utilities.java
java/org/apache/hadoop/hive/ql/exec/errors/RegexErrorHeuristic.java
java/org/apache/hadoop/hive/ql/exec/errors/ScriptErrorHeuristic.java
java/org/apache/hadoop/hive/ql/exec/errors/TaskLogProcessor.java
java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java
java/org/apache/hadoop/hive/ql/exec/mr/ExecReducer.java
java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
java/org/apache/hadoop/hive/ql/exec/mr/JobDebugger.java
java/org/apache/hadoop/hive/ql/exec/mr/MapRedTask.java
java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java
java/org/apache/hadoop/hive/ql/exec/mr/Throttle.java
java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinObjectValue.java
java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinRowContainer.java
java/org/apache/hadoop/hive/ql/history/HiveHistory.java
java/org/apache/hadoop/hive/ql/index/HiveIndexResult.java
java/org/apache/hadoop/hive/ql/index/HiveIndexedInputFormat.java
java/org/apache/hadoop/hive/ql/index/IndexPredicateAnalyzer.java
java/org/apache/hadoop/hive/ql/index/TableBasedIndexHandler.java
java/org/apache/hadoop/hive/ql/index/bitmap/BitmapIndexHandler.java
java/org/apache/hadoop/hive/ql/io/BucketizedHiveInputFormat.java
java/org/apache/hadoop/hive/ql/io/CombineHiveInputFormat.java
java/org/apache/hadoop/hive/ql/io/HiveFileFormatUtils.java
java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java
java/org/apache/hadoop/hive/ql/io/NonSyncDataInputBuffer.java
java/org/apache/hadoop/hive/ql/io/RCFile.java
java/org/apache/hadoop/hive/ql/io/RCFileInputFormat.java
java/org/apache/hadoop/hive/ql/io/SequenceFileInputFormatChecker.java
java/org/apache/hadoop/hive/ql/io/SymbolicInputFormat.java
java/org/apache/hadoop/hive/ql/io/SymlinkTextInputFormat.java
java/org/apache/hadoop/hive/ql/io/orc/DynamicByteArray.java
java/org/apache/hadoop/hive/ql/io/orc/DynamicIntArray.java
java/org/apache/hadoop/hive/ql/io/orc/FileDump.java
java/org/apache/hadoop/hive/ql/io/orc/OrcStruct.java
java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
java/org/apache/hadoop/hive/ql/io/rcfile/merge/BlockMergeTask.java
java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileMergeMapper.java
java/org/apache/hadoop/hive/ql/io/rcfile/stats/PartialScanTask.java
java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateMapper.java
java/org/apache/hadoop/hive/ql/lockmgr/EmbeddedLockManager.java
java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java
java/org/apache/hadoop/hive/ql/metadata/Hive.java
java/org/apache/hadoop/hive/ql/metadata/HiveMetaStoreChecker.java
java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java
java/org/apache/hadoop/hive/ql/optimizer/AbstractBucketJoinProc.java
java/org/apache/hadoop/hive/ql/optimizer/AbstractSMBJoinProc.java
java/org/apache/hadoop/hive/ql/optimizer/BucketingSortingReduceSinkOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
java/org/apache/hadoop/hive/ql/optimizer/GenMRFileSink1.java
java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java
java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java
java/org/apache/hadoop/hive/ql/optimizer/GroupByOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java
java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/correlation/CorrelationOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/correlation/QueryPlanTreeTransformation.java
java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java
java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java
java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java
java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java
java/org/apache/hadoop/hive/ql/optimizer/listbucketingpruner/ListBucketingPruner.java
java/org/apache/hadoop/hive/ql/optimizer/physical/AbstractJoinTaskDispatcher.java
java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingInferenceOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingOpProcFactory.java
java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinTaskDispatcher.java
java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java
java/org/apache/hadoop/hive/ql/optimizer/physical/LocalMapJoinProcFactory.java
java/org/apache/hadoop/hive/ql/optimizer/physical/MetadataOnlyOptimizer.java
java/org/apache/hadoop/hive/ql/optimizer/physical/index/IndexWhereProcessor.java
java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
java/org/apache/hadoop/hive/ql/optimizer/unionproc/UnionProcFactory.java
java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/EximUtil.java
java/org/apache/hadoop/hive/ql/parse/ExportSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/IndexUpdater.java
java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/MapReduceCompiler.java
java/org/apache/hadoop/hive/ql/parse/PTFInvocationSpec.java
java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java
java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
java/org/apache/hadoop/hive/ql/parse/WindowingComponentizer.java
java/org/apache/hadoop/hive/ql/parse/WindowingSpec.java
java/org/apache/hadoop/hive/ql/plan/BucketMapJoinContext.java
java/org/apache/hadoop/hive/ql/plan/ConditionalResolverCommonJoin.java
java/org/apache/hadoop/hive/ql/plan/ConditionalResolverSkewJoin.java
java/org/apache/hadoop/hive/ql/plan/FetchWork.java
java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
java/org/apache/hadoop/hive/ql/plan/ListBucketingCtx.java
java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
java/org/apache/hadoop/hive/ql/plan/MsckDesc.java
java/org/apache/hadoop/hive/ql/plan/PTFDesc.java
java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java
java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java
java/org/apache/hadoop/hive/ql/session/CreateTableAutomaticGrant.java
java/org/apache/hadoop/hive/ql/udf/UDAFPercentile.java
java/org/apache/hadoop/hive/ql/udf/UDFJson.java
java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDFEWAHBitmapBop.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFContextNGrams.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCumeDist.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogramNumeric.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFNTile.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFPercentRank.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFPercentileApprox.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFnGrams.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEWAHBitmapEmpty.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSentences.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFParseUrlTuple.java
java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFStack.java
java/org/apache/hadoop/hive/ql/udf/generic/NGramEstimator.java
java/org/apache/hadoop/hive/ql/udf/generic/NumDistinctValueEstimator.java
java/org/apache/hadoop/hive/ql/udf/generic/NumericHistogram.java
java/org/apache/hadoop/hive/ql/udf/ptf/NPath.java
java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
java/org/apache/hadoop/hive/ql/udf/xml/GenericUDFXPath.java)
    
> Avoiding object instantiation in loops (issue 6)
> ------------------------------------------------
>
>                 Key: HIVE-5018
>                 URL: https://issues.apache.org/jira/browse/HIVE-5018
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Benjamin Jakobus
>            Assignee: Benjamin Jakobus
>            Priority: Minor
>             Fix For: 0.12.0
>
>         Attachments: HIVE-5018.1.patch.txt
>
>
> Object instantiation inside loops is very expensive. Where possible, object 
> references should be created outside the loop so that they can be reused.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to