Skip to content

Instantly share code, notes, and snippets.

@undingen
Created March 25, 2015 21:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save undingen/c1a4461e430408e80fbb to your computer and use it in GitHub Desktop.
Save undingen/c1a4461e430408e80fbb to your computer and use it in GitHub Desktop.
LLVM pass timing
./pyston_release -s -S -n -c "import optparse"
us_compiling: 3245658
us_compiling_1_minimal: 3233558
us_compiling_2_moderate: 12100
us_compiling_analysis_definedness: 144997
us_compiling_analysis_liveness: 158656
us_compiling_analysis_phis: 274485
us_compiling_analysis_types: 141828
us_compiling_irgen: 174236
us_compiling_jitting: 2456162
===-------------------------------------------------------------------------===
Instruction Selection and Scheduling
===-------------------------------------------------------------------------===
Total Execution Time: 0.3686 seconds (0.3683 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.0778 ( 22.1%) 0.0031 ( 19.9%) 0.0810 ( 22.0%) 0.0807 ( 21.9%) Instruction Scheduling
0.0616 ( 17.4%) 0.0012 ( 7.9%) 0.0628 ( 17.0%) 0.0625 ( 17.0%) Instruction Selection
0.0538 ( 15.3%) 0.0038 ( 24.1%) 0.0576 ( 15.6%) 0.0574 ( 15.6%) Instruction Creation
0.0472 ( 13.4%) 0.0022 ( 14.3%) 0.0494 ( 13.4%) 0.0504 ( 13.7%) DAG Combining 1
0.0456 ( 12.9%) 0.0011 ( 6.8%) 0.0466 ( 12.7%) 0.0464 ( 12.6%) DAG Combining 2
0.0226 ( 6.4%) 0.0010 ( 6.4%) 0.0236 ( 6.4%) 0.0235 ( 6.4%) DAG Legalization
0.0208 ( 5.9%) 0.0010 ( 6.4%) 0.0218 ( 5.9%) 0.0217 ( 5.9%) Type Legalization
0.0156 ( 4.4%) 0.0004 ( 2.5%) 0.0160 ( 4.4%) 0.0160 ( 4.3%) DAG Combining after legalize types
0.0043 ( 1.2%) 0.0010 ( 6.5%) 0.0053 ( 1.4%) 0.0053 ( 1.4%) Instruction Scheduling Cleanup
0.0036 ( 1.0%) 0.0008 ( 5.1%) 0.0044 ( 1.2%) 0.0044 ( 1.2%) Vector Legalization
0.3530 (100.0%) 0.0156 (100.0%) 0.3686 (100.0%) 0.3683 (100.0%) Total
===-------------------------------------------------------------------------===
DWARF Emission
===-------------------------------------------------------------------------===
Total Execution Time: 0.3563 seconds (0.3574 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.1397 ( 53.4%) 0.0475 ( 50.2%) 0.1872 ( 52.5%) 0.1887 ( 52.8%) Debug Info Emission
0.1196 ( 45.7%) 0.0470 ( 49.6%) 0.1666 ( 46.8%) 0.1660 ( 46.5%) DWARF Exception Writer
0.0023 ( 0.9%) 0.0002 ( 0.2%) 0.0025 ( 0.7%) 0.0026 ( 0.7%) DWARF Debug Writer
0.2617 (100.0%) 0.0946 (100.0%) 0.3563 (100.0%) 0.3574 (100.0%) Total
===-------------------------------------------------------------------------===
Register Allocation
===-------------------------------------------------------------------------===
Total Execution Time: 0.0007 seconds (0.0008 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.0007 (100.0%) 0.0001 (100.0%) 0.0007 (100.0%) 0.0008 (100.0%) Seed Live Regs
0.0007 (100.0%) 0.0001 (100.0%) 0.0007 (100.0%) 0.0008 (100.0%) Total
===-------------------------------------------------------------------------===
... Pass execution timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 2.2766 seconds (2.2775 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.1697 ( 8.3%) 0.0399 ( 16.7%) 0.2095 ( 9.2%) 0.2096 ( 9.2%) X86 Assembly / Object Emitter
0.0881 ( 4.3%) 0.0005 ( 0.2%) 0.0886 ( 3.9%) 0.0887 ( 3.9%) Basic Register Allocator
0.0797 ( 3.9%) 0.0060 ( 2.5%) 0.0857 ( 3.8%) 0.0858 ( 3.8%) X86 DAG->DAG Instruction Selection
0.0680 ( 3.3%) 0.0021 ( 0.9%) 0.0702 ( 3.1%) 0.0703 ( 3.1%) X86 DAG->DAG Instruction Selection
0.0511 ( 2.5%) 0.0138 ( 5.8%) 0.0649 ( 2.8%) 0.0649 ( 2.8%) X86 Assembly / Object Emitter
0.0433 ( 2.1%) 0.0101 ( 4.2%) 0.0534 ( 2.3%) 0.0534 ( 2.3%) X86 Assembly / Object Emitter
0.0381 ( 1.9%) 0.0001 ( 0.0%) 0.0382 ( 1.7%) 0.0382 ( 1.7%) Simple Register Coalescing
0.0257 ( 1.3%) 0.0058 ( 2.4%) 0.0315 ( 1.4%) 0.0315 ( 1.4%) X86 Assembly / Object Emitter
0.0253 ( 1.2%) 0.0058 ( 2.4%) 0.0311 ( 1.4%) 0.0312 ( 1.4%) X86 Assembly / Object Emitter
0.0236 ( 1.2%) 0.0063 ( 2.6%) 0.0299 ( 1.3%) 0.0299 ( 1.3%) X86 Assembly / Object Emitter
0.0233 ( 1.1%) 0.0059 ( 2.5%) 0.0292 ( 1.3%) 0.0292 ( 1.3%) X86 Assembly / Object Emitter
0.0252 ( 1.2%) 0.0009 ( 0.4%) 0.0261 ( 1.1%) 0.0262 ( 1.1%) X86 DAG->DAG Instruction Selection
0.0251 ( 1.2%) 0.0008 ( 0.3%) 0.0259 ( 1.1%) 0.0259 ( 1.1%) X86 DAG->DAG Instruction Selection
0.0241 ( 1.2%) 0.0002 ( 0.1%) 0.0243 ( 1.1%) 0.0243 ( 1.1%) Basic Register Allocator
0.0239 ( 1.2%) 0.0003 ( 0.1%) 0.0241 ( 1.1%) 0.0242 ( 1.1%) Basic Register Allocator
0.0221 ( 1.1%) 0.0020 ( 0.8%) 0.0240 ( 1.1%) 0.0240 ( 1.1%) X86 DAG->DAG Instruction Selection
0.0224 ( 1.1%) 0.0004 ( 0.2%) 0.0227 ( 1.0%) 0.0228 ( 1.0%) Live Variable Analysis
@undingen
Copy link
Author

I truncated the output at the end...
But even while truncated I find it on first sight surprising that this adds up to 2.27 seconds..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment