[PATCH][Review Requested][Compilation Time] Light Weight IndexMap reduces calls to _toIndex by half

Evan Cheng evan.cheng at apple.com
Mon Feb 4 11:36:53 PST 2013


This doesn't seem like a consistent win. Is this still desired?

Evan

On Jan 31, 2013, at 12:03 PM, "Murali, Sriram" <sriram.murali at intel.com> wrote:

> The standard vector interface of IndexedMap is heavy. Since it is frequently used in FunctionLoweringInfo and LiveVariable, it is ideal to use a light-weight interface for IndexedMap. This patch groups calls to indexing [] operator and grow function together to reduce the calls to toIndex_ by half, without affecting the functionality and robustness.
>  
> This patch is part of a series of compile time improvements. Although these were originally produced by our colleague Wan Xiaofei, our team consisting of tyler.nowicki at intel.com; preston.gurd at intel.com; and sriram.murali at intel.com, are assuming all responsibility for this work.
>  
> Please Review
>  
> Thanks
> Sriram Murali
>  
>  
> Benchmark
> Trunk
> Light.IndexMap
> 401.bzip2
> 74.21
> 73.56
> 403.gcc
> 73.88
> 73.35
> 429.mcf
> 72.80
> 72.42
> 433.milc
> 78.78
> 79.24
> 444.namd
> 94.73
> 94.59
> 445.gobmk
> 36.28
> 36.21
> 450.soplex
> 71.41
> 71.29
> 456.hmmer
> 86.80
> 86.51
> 458.sjeng
> 96.38
> 95.63
> 464.h264ref
> 87.61
> 87.63
> 470.lbm
> 68.95
> 68.38
> 471.omnetpp
> 89.07
> 88.11
> bitmnp01
> 84.06
> 83.52
> cjpegv2data6
> 59.70
> 60.07
> idctrn01
> 40.18
> 40.24
> libquake2
> 48.48
> 48.55
> libquake_portable
> 63.54
> 63.80
> libxcsoar
> 47.44
> 47.25
> linpack
> 142.14
> 142.66
> matrix01
> 24.75
> 24.77
> nbench
> 108.04
> 108.01
> tblook01
> 44.03
> 44.14
> ttsprk01
> 39.23
> 38.89
> Geomean
> 65.85
> 65.71
> 401.bzip2
> 100.00
> 100.88
> 403.gcc
> 100.00
> 100.72
> 429.mcf
> 100.00
> 100.52
> 433.milc
> 100.00
> 99.42
> 444.namd
> 100.00
> 100.15
> 445.gobmk
> 100.00
> 100.19
> 450.soplex
> 100.00
> 100.17
> 456.hmmer
> 100.00
> 100.34
> 458.sjeng
> 100.00
> 100.78
> 464.h264ref
> 100.00
> 99.98
> 470.lbm
> 100.00
> 100.83
> 471.omnetpp
> 100.00
> 101.09
> bitmnp01
> 100.00
> 100.65
> cjpegv2data6
> 100.00
> 99.38
> idctrn01
> 100.00
> 99.85
> libquake2
> 100.00
> 99.86
> libquake_portable
> 100.00
> 99.59
> libxcsoar
> 100.00
> 100.40
> linpack
> 100.00
> 99.64
> matrix01
> 100.00
> 99.92
> nbench
> 100.00
> 100.03
> tblook01
> 100.00
> 99.75
> ttsprk01
> 100.00
> 100.87
> Geomean
> 100.00
> 100.22
>  
>  
> <lightWeightIndexedMap.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130204/46fd5f3a/attachment.html>


More information about the llvm-commits mailing list