Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Slow build of generated AngelScript bindings #2732

Open
SirNate0 opened this issue Nov 26, 2020 · 7 comments
Open

Slow build of generated AngelScript bindings #2732

SirNate0 opened this issue Nov 26, 2020 · 7 comments

Comments

@SirNate0
Copy link
Contributor

When building the generated AngelScript bindings, I end up with a number of notes from the compiler (for most, though not all, of the generated files).

/home/nathan/Projects/Urho3D/Source/Urho3D/AngelScript/Generated_Members_B.cpp: In function ‘void Urho3D::ASRegisterGenerated_Members_B(asIScriptEngine*)’:
/home/nathan/Projects/Urho3D/Source/Urho3D/AngelScript/Generated_Members_B.cpp:241:6: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
  241 | void ASRegisterGenerated_Members_B(asIScriptEngine* engine)

I'm not certain, but I suspect this is why building these files is so slow on my computer, as it sounds like the compiler is re-compiling the file after it fails. (I'd estimate about 1/3 the time spent building the Urho3D library, including the ThirdParty components). Whether or not this is the case, the generated bindings take much longer to compile compared to the old manual bindings. Any idea what might be the cause?


This is using gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

@1vanK
Copy link
Contributor

1vanK commented Nov 26, 2020

Never mind, the bindings generation are not finished yet.

@github-actions
Copy link

Marking this stale since there has been no activity for 30 days.
It will be closed if there is no activity for another 15 days.

@1vanK
Copy link
Contributor

1vanK commented Apr 9, 2021

The bindings are redone to templates, so I hope the problem is solved

@SirNate0
Copy link
Contributor Author

SirNate0 commented Aug 2, 2021

Will update and let you know at some point. New version definitely works. Even faster than the old one with variable tracking disabled.

While I have the data from the runs, though, I wanted to share that disabling variable tracking for the generated files seems to fix the problem for the old (~November) generated files:

$ cd /home/nathan/Projects/Urho3D/Build/Source/Urho3D && /usr/bin/c++  -DGLEW_NO_GLU -DGLEW_STATIC -DHAVE_SINCOSF -DHAVE_STDINT_H -DTOLUA_RELEASE -DURHO3D_ANGELSCRIPT -DURHO3D_FILEWATCHER -DURHO3D_IK -DURHO3D_IS_BUILDING -DURHO3D_LOGGING -DURHO3D_LUA -DURHO3D_NAVIGATION -DURHO3D_NETWORK -DURHO3D_PHYSICS -DURHO3D_PROFILING -DURHO3D_STATIC_DEFINE -DURHO3D_THREADING -DURHO3D_URHO2D -DURHO3D_WEBP -I/home/nathan/Projects/Urho3D/Build/Source/Urho3D -I/home/nathan/Projects/Urho3D/Source/Urho3D -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Bullet -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Detour -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Lua  -mtune=generic  -Wno-invalid-offsetof -march=native -msse3 -pthread -fdiagnostics-color=auto -include "/home/nathan/Projects/Urho3D/Build/Source/Urho3D/Precompiled.h" -Winvalid-pch -O2 -g -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden   -std=c++11 -o CMakeFiles/Urho3D.dir/AngelScript/Generated_Members_M.cpp.o -c /home/nathan/Projects/Urho3D/Source/Urho3D/AngelScript/Generated_Members_M.cpp -ftime-report

Time variable                                   usr           sys          wall               GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.00 (  0%)    1637 kB (  0%)
 phase parsing                      :   1.26 (  1%)   0.48 ( 36%)   1.79 (  1%)  148436 kB ( 24%)
 phase lang. deferred               :   0.16 (  0%)   0.03 (  2%)   0.18 (  0%)   17538 kB (  3%)
 phase opt and generate             : 136.44 ( 99%)   0.81 ( 61%) 137.49 ( 99%)  451984 kB ( 72%)
 phase last asm                     :   0.10 (  0%)   0.01 (  1%)   0.10 (  0%)    6018 kB (  1%)
 phase finalize                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 |name lookup                       :   0.21 (  0%)   0.06 (  5%)   0.47 (  0%)    4280 kB (  1%)
 |overload resolution               :   0.16 (  0%)   0.02 (  2%)   0.18 (  0%)   11794 kB (  2%)
 garbage collection                 :   0.18 (  0%)   0.00 (  0%)   0.19 (  0%)       0 kB (  0%)
 dump files                         :   0.06 (  0%)   0.00 (  0%)   0.08 (  0%)       0 kB (  0%)
 PCH preprocessor state restore     :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 callgraph construction             :   0.10 (  0%)   0.03 (  2%)   0.10 (  0%)   20207 kB (  3%)
 callgraph optimization             :   0.10 (  0%)   0.01 (  1%)   0.07 (  0%)       7 kB (  0%)
 ipa function summary               :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    1226 kB (  0%)
 ipa cp                             :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)    1841 kB (  0%)
 ipa inlining heuristics            :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     388 kB (  0%)
 ipa function splitting             :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     102 kB (  0%)
 ipa HSA                            :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 ipa pure const                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)      54 kB (  0%)
 ipa icf                            :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)      37 kB (  0%)
 ipa SRA                            :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    1157 kB (  0%)
 cfg construction                   :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     223 kB (  0%)
 cfg cleanup                        :   0.11 (  0%)   0.02 (  2%)   0.12 (  0%)     952 kB (  0%)
 trivially dead code                :   0.04 (  0%)   0.00 (  0%)   0.06 (  0%)       0 kB (  0%)
 df scan insns                      :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)      14 kB (  0%)
 df multiple defs                   :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 df reaching defs                   :   0.14 (  0%)   0.01 (  1%)   0.24 (  0%)       0 kB (  0%)
 df live regs                       :   0.30 (  0%)   0.01 (  1%)   0.34 (  0%)       3 kB (  0%)
 df live&initialized regs           :   0.08 (  0%)   0.00 (  0%)   0.11 (  0%)       0 kB (  0%)
 df must-initialized regs           :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 df use-def / def-use chains        :   0.03 (  0%)   0.01 (  1%)   0.04 (  0%)       0 kB (  0%)
 df reg dead/unused notes           :   0.19 (  0%)   0.01 (  1%)   0.12 (  0%)    1555 kB (  0%)
 register information               :   0.03 (  0%)   0.01 (  1%)   0.04 (  0%)       0 kB (  0%)
 alias analysis                     :   0.08 (  0%)   0.00 (  0%)   0.06 (  0%)    3021 kB (  0%)
 alias stmt walking                 :   1.01 (  1%)   0.02 (  2%)   1.10 (  1%)      44 kB (  0%)
 register scan                      :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)      42 kB (  0%)
 rebuild jump labels                :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 preprocessing                      :   0.20 (  0%)   0.13 ( 10%)   0.33 (  0%)    6012 kB (  1%)
 parser (global)                    :   0.23 (  0%)   0.11 (  8%)   0.35 (  0%)   27465 kB (  4%)
 parser struct body                 :   0.18 (  0%)   0.08 (  6%)   0.21 (  0%)   19929 kB (  3%)
 parser enumerator list             :   0.01 (  0%)   0.01 (  1%)   0.01 (  0%)    2839 kB (  0%)
 parser function body               :   0.07 (  0%)   0.01 (  1%)   0.06 (  0%)    8875 kB (  1%)
 parser inl. func. body             :   0.09 (  0%)   0.01 (  1%)   0.09 (  0%)    5707 kB (  1%)
 parser inl. meth. body             :   0.17 (  0%)   0.06 (  5%)   0.34 (  0%)   18666 kB (  3%)
 template instantiation             :   0.37 (  0%)   0.06 (  5%)   0.50 (  0%)   43033 kB (  7%)
 constant expression evaluation     :   0.01 (  0%)   0.00 (  0%)   0.04 (  0%)     125 kB (  0%)
 early inlining heuristics          :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)    1639 kB (  0%)
 inline parameters                  :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)    2557 kB (  0%)
 integration                        :   0.17 (  0%)   0.03 (  2%)   0.16 (  0%)   29729 kB (  5%)
 tree gimplify                      :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)    5745 kB (  1%)
 tree eh                            :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)    1361 kB (  0%)
 tree CFG construction              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)    2043 kB (  0%)
 tree CFG cleanup                   :   0.22 (  0%)   0.00 (  0%)   0.27 (  0%)     365 kB (  0%)
 tree tail merge                    :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     440 kB (  0%)
 tree VRP                           :   0.25 (  0%)   0.00 (  0%)   0.23 (  0%)   13054 kB (  2%)
 tree Early VRP                     :   0.05 (  0%)   0.01 (  1%)   0.05 (  0%)    2204 kB (  0%)
 tree copy propagation              :   0.06 (  0%)   0.02 (  2%)   0.03 (  0%)      34 kB (  0%)
 tree PTA                           :   0.17 (  0%)   0.02 (  2%)   0.15 (  0%)     798 kB (  0%)
 tree SSA rewrite                   :   0.02 (  0%)   0.01 (  1%)   0.01 (  0%)    2526 kB (  0%)
 tree SSA other                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     155 kB (  0%)
 tree SSA incremental               :   0.08 (  0%)   0.00 (  0%)   0.09 (  0%)    3116 kB (  0%)
 tree operand scan                  :   0.18 (  0%)   0.04 (  3%)   0.25 (  0%)    5987 kB (  1%)
 dominator optimization             :   0.23 (  0%)   0.01 (  1%)   0.26 (  0%)    5910 kB (  1%)
 backwards jump threading           :   0.00 (  0%)   0.01 (  1%)   0.00 (  0%)      25 kB (  0%)
 tree SRA                           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     805 kB (  0%)
 isolate eroneous paths             :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)      13 kB (  0%)
 tree CCP                           :   0.07 (  0%)   0.00 (  0%)   0.16 (  0%)     375 kB (  0%)
 tree split crit edges              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     842 kB (  0%)
 tree reassociation                 :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 tree PRE                           :   0.51 (  0%)   0.00 (  0%)   0.49 (  0%)    2674 kB (  0%)
 tree FRE                           :   0.99 (  1%)   0.02 (  2%)   0.94 (  1%)    1167 kB (  0%)
 tree code sinking                  :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)     348 kB (  0%)
 tree linearize phis                :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)     321 kB (  0%)
 tree backward propagate            :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 tree forward propagate             :   0.04 (  0%)   0.02 (  2%)   0.04 (  0%)     683 kB (  0%)
 tree conservative DCE              :   0.03 (  0%)   0.01 (  1%)   0.03 (  0%)      58 kB (  0%)
 tree aggressive DCE                :   0.07 (  0%)   0.01 (  1%)   0.03 (  0%)    1451 kB (  0%)
 tree DSE                           :   0.02 (  0%)   0.01 (  1%)   0.06 (  0%)     134 kB (  0%)
 tree loop invariant motion         :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 tree canonical iv                  :   0.01 (  0%)   0.01 (  1%)   0.03 (  0%)     829 kB (  0%)
 scev constant prop                 :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)     452 kB (  0%)
 complete unrolling                 :   0.07 (  0%)   0.00 (  0%)   0.07 (  0%)    3124 kB (  0%)
 tree iv optimization               :   0.14 (  0%)   0.03 (  2%)   0.18 (  0%)   12636 kB (  2%)
 tree copy headers                  :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     730 kB (  0%)
 tree switch conversion             :   0.00 (  0%)   0.02 (  2%)   0.00 (  0%)       0 kB (  0%)
 gimple widening/fma detection      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)      22 kB (  0%)
 tree strlen optimization           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      34 kB (  0%)
 dominance computation              :   0.06 (  0%)   0.02 (  2%)   0.08 (  0%)       0 kB (  0%)
 control dependences                :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 out of ssa                         :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     104 kB (  0%)
 expand vars                        :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)    2399 kB (  0%)
 expand                             :   0.11 (  0%)   0.00 (  0%)   0.07 (  0%)   17794 kB (  3%)
 post expand cleanups               :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     521 kB (  0%)
 varconst                           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      24 kB (  0%)
 lower subreg                       :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       5 kB (  0%)
 forward prop                       :   0.05 (  0%)   0.00 (  0%)   0.03 (  0%)     595 kB (  0%)
 CSE                                :   0.15 (  0%)   0.00 (  0%)   0.10 (  0%)     732 kB (  0%)
 dead code elimination              :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)       0 kB (  0%)
 dead store elim1                   :   0.03 (  0%)   0.00 (  0%)   0.05 (  0%)    1413 kB (  0%)
 dead store elim2                   :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)    1033 kB (  0%)
 loop init                          :   0.39 (  0%)   0.01 (  1%)   0.33 (  0%)   14924 kB (  2%)
 loop invariant motion              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       5 kB (  0%)
 CPROP                              :   0.08 (  0%)   0.00 (  0%)   0.09 (  0%)    1931 kB (  0%)
 PRE                                :   3.62 (  3%)   0.05 (  4%)   3.66 (  3%)  206834 kB ( 33%)
 CSE 2                              :   0.07 (  0%)   0.00 (  0%)   0.10 (  0%)     311 kB (  0%)
 branch prediction                  :   0.02 (  0%)   0.01 (  1%)   0.03 (  0%)    1003 kB (  0%)
 combiner                           :   0.10 (  0%)   0.00 (  0%)   0.07 (  0%)    2373 kB (  0%)
 if-conversion                      :   0.04 (  0%)   0.00 (  0%)   0.02 (  0%)      78 kB (  0%)
 integrated RA                      :   0.35 (  0%)   0.05 (  4%)   0.46 (  0%)   14395 kB (  2%)
 LRA non-specific                   :   0.11 (  0%)   0.00 (  0%)   0.10 (  0%)     456 kB (  0%)
 LRA virtuals elimination           :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)     942 kB (  0%)
 LRA reload inheritance             :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     361 kB (  0%)
 LRA create live ranges             :   0.07 (  0%)   0.00 (  0%)   0.07 (  0%)     143 kB (  0%)
 reload CSE regs                    :   0.11 (  0%)   0.01 (  1%)   0.09 (  0%)    2015 kB (  0%)
 ree                                :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      13 kB (  0%)
 thread pro- & epilogue             :   0.03 (  0%)   0.00 (  0%)   0.00 (  0%)     415 kB (  0%)
 if-conversion 2                    :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       4 kB (  0%)
 combine stack adjustments          :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 peephole 2                         :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)     654 kB (  0%)
 hard reg cprop                     :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)      25 kB (  0%)
 scheduling 2                       :   0.33 (  0%)   0.01 (  1%)   0.35 (  0%)     746 kB (  0%)
 machine dep reorg                  :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)     345 kB (  0%)
 reorder blocks                     :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     336 kB (  0%)
 shorten branches                   :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 final                              :   0.11 (  0%)   0.01 (  1%)   0.09 (  0%)    6753 kB (  1%)
 variable output                    :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)      13 kB (  0%)
 symout                             :   0.17 (  0%)   0.06 (  5%)   0.18 (  0%)   55809 kB (  9%)
 variable tracking                  :   0.12 (  0%)   0.00 (  0%)   0.11 (  0%)    7213 kB (  1%)
 var-tracking dataflow              : 121.04 ( 88%)   0.19 ( 14%) 121.44 ( 87%)    2287 kB (  0%)
 var-tracking emit                  :   2.74 (  2%)   0.00 (  0%)   2.73 (  2%)    4934 kB (  1%)
 straight-line strength reduction   :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       2 kB (  0%)
 store merging                      :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     130 kB (  0%)
 initialize rtl                     :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)      12 kB (  0%)
 rest of compilation                :   0.16 (  0%)   0.00 (  0%)   0.20 (  0%)    5666 kB (  1%)
 remove unused locals               :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 address taken                      :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 rebuild frequencies                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       3 kB (  0%)
 repair loop structures             :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 TOTAL                              : 137.96          1.33        139.57         625624 kB
$ cd /home/nathan/Projects/Urho3D/Build/Source/Urho3D && /usr/bin/c++  -DGLEW_NO_GLU -DGLEW_STATIC -DHAVE_SINCOSF -DHAVE_STDINT_H -DTOLUA_RELEASE -DURHO3D_ANGELSCRIPT -DURHO3D_FILEWATCHER -DURHO3D_IK -DURHO3D_IS_BUILDING -DURHO3D_LOGGING -DURHO3D_LUA -DURHO3D_NAVIGATION -DURHO3D_NETWORK -DURHO3D_PHYSICS -DURHO3D_PROFILING -DURHO3D_STATIC_DEFINE -DURHO3D_THREADING -DURHO3D_URHO2D -DURHO3D_WEBP -I/home/nathan/Projects/Urho3D/Build/Source/Urho3D -I/home/nathan/Projects/Urho3D/Source/Urho3D -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Bullet -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Detour -I/home/nathan/Projects/Urho3D/Build/include/Urho3D/ThirdParty/Lua  -mtune=generic  -Wno-invalid-offsetof -march=native -msse3 -pthread -fdiagnostics-color=auto -include "/home/nathan/Projects/Urho3D/Build/Source/Urho3D/Precompiled.h" -Winvalid-pch -O2 -g -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden   -std=c++11 -o CMakeFiles/Urho3D.dir/AngelScript/Generated_Members_M.cpp.o -c /home/nathan/Projects/Urho3D/Source/Urho3D/AngelScript/Generated_Members_M.cpp -ftime-report -fno-var-tracking

Time variable                                   usr           sys          wall               GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)    1637 kB (  0%)
 phase parsing                      :   1.18 ( 11%)   0.43 ( 44%)   1.61 ( 13%)  148436 kB ( 25%)
 phase lang. deferred               :   0.13 (  1%)   0.05 (  5%)   0.18 (  1%)   17538 kB (  3%)
 phase opt and generate             :   9.71 ( 88%)   0.50 ( 51%)  10.22 ( 85%)  415095 kB ( 71%)
 phase last asm                     :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)    1982 kB (  0%)
 |name lookup                       :   0.25 (  2%)   0.07 (  7%)   0.27 (  2%)    4280 kB (  1%)
 |overload resolution               :   0.15 (  1%)   0.04 (  4%)   0.20 (  2%)   11794 kB (  2%)
 garbage collection                 :   0.09 (  1%)   0.00 (  0%)   0.09 (  1%)       0 kB (  0%)
 dump files                         :   0.10 (  1%)   0.01 (  1%)   0.12 (  1%)       0 kB (  0%)
 callgraph construction             :   0.13 (  1%)   0.01 (  1%)   0.11 (  1%)   20208 kB (  3%)
 callgraph optimization             :   0.01 (  0%)   0.02 (  2%)   0.06 (  0%)       7 kB (  0%)
 ipa function summary               :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    1226 kB (  0%)
 ipa cp                             :   0.00 (  0%)   0.01 (  1%)   0.01 (  0%)    1841 kB (  0%)
 ipa inlining heuristics            :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)     377 kB (  0%)
 ipa function splitting             :   0.00 (  0%)   0.01 (  1%)   0.00 (  0%)      87 kB (  0%)
 ipa pure const                     :   0.02 (  0%)   0.01 (  1%)   0.00 (  0%)      54 kB (  0%)
 ipa SRA                            :   0.00 (  0%)   0.01 (  1%)   0.02 (  0%)    1081 kB (  0%)
 cfg cleanup                        :   0.11 (  1%)   0.01 (  1%)   0.08 (  1%)     952 kB (  0%)
 trivially dead code                :   0.00 (  0%)   0.00 (  0%)   0.05 (  0%)       0 kB (  0%)
 df scan insns                      :   0.04 (  0%)   0.00 (  0%)   0.06 (  0%)      14 kB (  0%)
 df multiple defs                   :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 df reaching defs                   :   0.15 (  1%)   0.01 (  1%)   0.12 (  1%)       0 kB (  0%)
 df live regs                       :   0.30 (  3%)   0.01 (  1%)   0.24 (  2%)       0 kB (  0%)
 df live&initialized regs           :   0.06 (  1%)   0.00 (  0%)   0.12 (  1%)       0 kB (  0%)
 df must-initialized regs           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 df use-def / def-use chains        :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 df reg dead/unused notes           :   0.06 (  1%)   0.00 (  0%)   0.14 (  1%)    1558 kB (  0%)
 register information               :   0.02 (  0%)   0.01 (  1%)   0.01 (  0%)       0 kB (  0%)
 alias analysis                     :   0.04 (  0%)   0.00 (  0%)   0.07 (  1%)    3021 kB (  1%)
 alias stmt walking                 :   0.86 (  8%)   0.05 (  5%)   0.90 (  7%)      44 kB (  0%)
 register scan                      :   0.03 (  0%)   0.00 (  0%)   0.01 (  0%)      42 kB (  0%)
 rebuild jump labels                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 preprocessing                      :   0.23 (  2%)   0.11 ( 11%)   0.24 (  2%)    6012 kB (  1%)
 parser (global)                    :   0.16 (  1%)   0.11 ( 11%)   0.36 (  3%)   27465 kB (  5%)
 parser struct body                 :   0.13 (  1%)   0.03 (  3%)   0.23 (  2%)   19929 kB (  3%)
 parser enumerator list             :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)    2839 kB (  0%)
 parser function body               :   0.06 (  1%)   0.02 (  2%)   0.09 (  1%)    8875 kB (  2%)
 parser inl. func. body             :   0.08 (  1%)   0.02 (  2%)   0.13 (  1%)    5707 kB (  1%)
 parser inl. meth. body             :   0.18 (  2%)   0.03 (  3%)   0.19 (  2%)   18666 kB (  3%)
 template instantiation             :   0.36 (  3%)   0.15 ( 15%)   0.50 (  4%)   43033 kB (  7%)
 constant expression evaluation     :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)     125 kB (  0%)
 early inlining heuristics          :   0.00 (  0%)   0.00 (  0%)   0.00 (  0%)    1639 kB (  0%)
 inline parameters                  :   0.02 (  0%)   0.01 (  1%)   0.03 (  0%)    2557 kB (  0%)
 integration                        :   0.09 (  1%)   0.01 (  1%)   0.11 (  1%)   26784 kB (  5%)
 tree gimplify                      :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)    5745 kB (  1%)
 tree eh                            :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)    1361 kB (  0%)
 tree CFG construction              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)    2043 kB (  0%)
 tree CFG cleanup                   :   0.20 (  2%)   0.00 (  0%)   0.22 (  2%)     365 kB (  0%)
 tree tail merge                    :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     440 kB (  0%)
 tree VRP                           :   0.19 (  2%)   0.02 (  2%)   0.19 (  2%)   11777 kB (  2%)
 tree Early VRP                     :   0.05 (  0%)   0.00 (  0%)   0.03 (  0%)    2204 kB (  0%)
 tree copy propagation              :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)      34 kB (  0%)
 tree PTA                           :   0.07 (  1%)   0.01 (  1%)   0.13 (  1%)     797 kB (  0%)
 tree SSA rewrite                   :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)    2490 kB (  0%)
 tree SSA other                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     155 kB (  0%)
 tree SSA incremental               :   0.04 (  0%)   0.01 (  1%)   0.06 (  0%)    3115 kB (  1%)
 tree operand scan                  :   0.10 (  1%)   0.04 (  4%)   0.11 (  1%)    5167 kB (  1%)
 dominator optimization             :   0.21 (  2%)   0.01 (  1%)   0.18 (  1%)    5057 kB (  1%)
 backwards jump threading           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)      14 kB (  0%)
 tree SRA                           :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)     805 kB (  0%)
 tree CCP                           :   0.08 (  1%)   0.01 (  1%)   0.09 (  1%)     374 kB (  0%)
 tree reassociation                 :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 tree PRE                           :   0.43 (  4%)   0.00 (  0%)   0.43 (  4%)    2584 kB (  0%)
 tree FRE                           :   0.87 (  8%)   0.01 (  1%)   0.90 (  7%)    1167 kB (  0%)
 tree code sinking                  :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     348 kB (  0%)
 tree linearize phis                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     321 kB (  0%)
 tree forward propagate             :   0.05 (  0%)   0.00 (  0%)   0.03 (  0%)     615 kB (  0%)
 tree conservative DCE              :   0.03 (  0%)   0.00 (  0%)   0.05 (  0%)      49 kB (  0%)
 tree aggressive DCE                :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)    1409 kB (  0%)
 tree DSE                           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     134 kB (  0%)
 tree loop invariant motion         :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)       0 kB (  0%)
 tree canonical iv                  :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)     829 kB (  0%)
 scev constant prop                 :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     452 kB (  0%)
 complete unrolling                 :   0.06 (  1%)   0.00 (  0%)   0.10 (  1%)    3120 kB (  1%)
 tree iv optimization               :   0.14 (  1%)   0.00 (  0%)   0.14 (  1%)   12003 kB (  2%)
 tree copy headers                  :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     633 kB (  0%)
 tree SSA uncprop                   :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 gimple CSE sin/cos                 :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 gimple widening/fma detection      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)      17 kB (  0%)
 tree strlen optimization           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      34 kB (  0%)
 dominance frontiers                :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 dominance computation              :   0.09 (  1%)   0.00 (  0%)   0.05 (  0%)       0 kB (  0%)
 control dependences                :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 out of ssa                         :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     200 kB (  0%)
 expand vars                        :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)    2655 kB (  0%)
 expand                             :   0.04 (  0%)   0.01 (  1%)   0.08 (  1%)   12666 kB (  2%)
 post expand cleanups               :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     521 kB (  0%)
 varconst                           :   0.04 (  0%)   0.00 (  0%)   0.01 (  0%)      24 kB (  0%)
 lower subreg                       :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       5 kB (  0%)
 forward prop                       :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)     480 kB (  0%)
 CSE                                :   0.08 (  1%)   0.00 (  0%)   0.10 (  1%)     732 kB (  0%)
 dead code elimination              :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)       0 kB (  0%)
 dead store elim1                   :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    1413 kB (  0%)
 dead store elim2                   :   0.03 (  0%)   0.00 (  0%)   0.05 (  0%)    1033 kB (  0%)
 loop analysis                      :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 loop init                          :   0.26 (  2%)   0.00 (  0%)   0.25 (  2%)   14924 kB (  3%)
 loop invariant motion              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       5 kB (  0%)
 loop fini                          :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 CPROP                              :   0.08 (  1%)   0.01 (  1%)   0.08 (  1%)    1931 kB (  0%)
 PRE                                :   2.47 ( 22%)   0.05 (  5%)   2.50 ( 21%)  206834 kB ( 35%)
 CSE 2                              :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)     311 kB (  0%)
 branch prediction                  :   0.02 (  0%)   0.01 (  1%)   0.03 (  0%)    1003 kB (  0%)
 combiner                           :   0.09 (  1%)   0.00 (  0%)   0.05 (  0%)    2310 kB (  0%)
 if-conversion                      :   0.01 (  0%)   0.01 (  1%)   0.00 (  0%)      78 kB (  0%)
 integrated RA                      :   0.36 (  3%)   0.06 (  6%)   0.38 (  3%)   14394 kB (  2%)
 LRA non-specific                   :   0.04 (  0%)   0.00 (  0%)   0.09 (  1%)     449 kB (  0%)
 LRA virtuals elimination           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     547 kB (  0%)
 LRA create live ranges             :   0.11 (  1%)   0.00 (  0%)   0.07 (  1%)     143 kB (  0%)
 LRA hard reg assignment            :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 reload                             :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 reload CSE regs                    :   0.10 (  1%)   0.00 (  0%)   0.10 (  1%)    2015 kB (  0%)
 ree                                :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)      13 kB (  0%)
 thread pro- & epilogue             :   0.04 (  0%)   0.00 (  0%)   0.01 (  0%)     413 kB (  0%)
 if-conversion 2                    :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)       4 kB (  0%)
 combine stack adjustments          :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 peephole 2                         :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     654 kB (  0%)
 hard reg cprop                     :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)      17 kB (  0%)
 scheduling 2                       :   0.24 (  2%)   0.00 (  0%)   0.27 (  2%)     686 kB (  0%)
 machine dep reorg                  :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     345 kB (  0%)
 shorten branches                   :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 final                              :   0.08 (  1%)   0.01 (  1%)   0.06 (  0%)    5608 kB (  1%)
 symout                             :   0.12 (  1%)   0.01 (  1%)   0.07 (  1%)   43233 kB (  7%)
 straight-line strength reduction   :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       2 kB (  0%)
 store merging                      :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)     130 kB (  0%)
 rest of compilation                :   0.12 (  1%)   0.03 (  3%)   0.18 (  1%)    5666 kB (  1%)
 remove unused locals               :   0.05 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 address taken                      :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 rebuild frequencies                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       3 kB (  0%)
 TOTAL                              :  11.07          0.98         12.07         584699 kB

@weitjong weitjong removed the stale label Aug 2, 2021
@weitjong weitjong reopened this Aug 2, 2021
@weitjong weitjong added the баг label Aug 2, 2021
@github-actions
Copy link

github-actions bot commented Sep 2, 2021

Marking this stale since there has been no activity for 30 days.
It will be closed if there is no activity for another 15 days.

@github-actions github-actions bot added the stale label Sep 2, 2021
@1vanK 1vanK removed the stale label Sep 2, 2021
@1vanK 1vanK closed this as completed Sep 2, 2021
@weitjong
Copy link
Contributor

weitjong commented Sep 2, 2021

Why is it closed? It is clearly much slower now and it needs to be fixed.

@1vanK
Copy link
Contributor

1vanK commented Sep 2, 2021

Compilation is somewhat slower because every function of the engine binds, unlike the old bindings. In addition, all bindings are made in the form of templates so that users can easily bind their own classes, which are inherited from the classes of the engine. I spent about a year on bindings and tried several variants, and I think the current verison is the most compromise. In any case, I don't mind if someone goes my way of trial and error.

@1vanK 1vanK reopened this Sep 2, 2021
@1vanK 1vanK added the backlog label Sep 2, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants