Dibyendu Majumdar
2015-Jul-11 12:16 UTC
[LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot
On 11 July 2015 at 13:14, Caldarale, Charles R <Chuck.Caldarale at unisys.com> wrote:>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of Dibyendu Majumdar >> Subject: [LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot > >> I updated my clone of the LLVM github mirror today and I am finding >> that the JIT compilation is now 2-3 times slower. The last time I >> refreshed was maybe 2 weeks ago. Is there a known change that would >> explain this? > > Debug+Asserts build rather than Release (or Release+Asserts)? >I haven't changed my build - it is a Release build. Have the settings in the Released build has changed recently? Regards
Dibyendu Majumdar
2015-Jul-11 12:50 UTC
[LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot
On 11 July 2015 at 13:16, Dibyendu Majumdar <mobile at majumdar.org.uk> wrote:> On 11 July 2015 at 13:14, Caldarale, Charles R > <Chuck.Caldarale at unisys.com> wrote: >>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >>> On Behalf Of Dibyendu Majumdar >>> Subject: [LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot >> >>> I updated my clone of the LLVM github mirror today and I am finding >>> that the JIT compilation is now 2-3 times slower. The last time I >>> refreshed was maybe 2 weeks ago. Is there a known change that would >>> explain this? >> >> Debug+Asserts build rather than Release (or Release+Asserts)? >> > > I haven't changed my build - it is a Release build. Have the settings > in the Released build has changed recently? >Just to be sure I completely rebuilt LLVM (below are some snippets from the build): C:\github\llvm\build>cmake -DCMAKE_INSTALL_PREFIX=c:\LLVM37 -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -G "Visual Studio 14 Win64" .. -- Target triple: x86_64-pc-win32 -- Native target architecture is X86 -- Threads enabled. -- Doxygen disabled. -- Sphinx disabled. -- Go bindings disabled. -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) -- OCaml bindings disabled. -- Using Debug VC++ CRT: MDd -- Using Release VC++ CRT: MD -- Using MinSizeRel VC++ CRT: MD -- Using RelWithDebInfo VC++ CRT: MD -- Using Release VC++ CRT: MD -- Constructing LLVMBuild project information -- LLVMHello ignored -- Loadable modules not supported on this platform. -- Targeting X86 -- BugpointPasses ignored -- Loadable modules not supported on this platform. -- Configuring done -- Generating done -- Build files have been written to: C:/github/llvm/build Visual Studio output: 140>Project not selected to build for this solution configuration 141>------ Skipped Build: Project: check-all, Configuration: Release x64 ------ 141>Project not selected to build for this solution configuration 142>------ Skipped Build: Project: check, Configuration: Release x64 ------ 142>Project not selected to build for this solution configuration ========== Build: 136 succeeded, 0 failed, 0 up-to-date, 6 skipped ========= and 1>------ Build started: Project: LTO_exports, Configuration: Release x64 ------ 2>------ Build started: Project: intrinsics_gen, Configuration: Release x64 ------ 3>------ Build started: Project: LibOptionsTableGen, Configuration: Release x64 ------ 4>------ Build started: Project: X86CommonTableGen, Configuration: Release x64 ------ 5>------ Build started: Project: llvm-ranlib, Configuration: Release x64 ------ 6>------ Build started: Project: llvm-lib, Configuration: Release x64 ------ 7>------ Build started: Project: INSTALL, Configuration: Release x64 ------ 7> -- Install configuration: "Release" Same issue.
Hayden Livingston
2015-Jul-11 17:38 UTC
[LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot
If you could create a single executable with a repro, and publish them somewhere (both the old llvm and new one which is slower), we could look at it. It's hard to say otherwise unless someone truly knows of a change. I'm interested in looking at this, because my experience has been opposite, compile times improved for my compiler in the past month. So I'm inclined to understand what your codegen path is doing to see if there's some pathological case you may be hitting (which I'd like to avoid for my case :-)) On Sat, Jul 11, 2015 at 5:50 AM, Dibyendu Majumdar <mobile at majumdar.org.uk> wrote:> On 11 July 2015 at 13:16, Dibyendu Majumdar <mobile at majumdar.org.uk> wrote: >> On 11 July 2015 at 13:14, Caldarale, Charles R >> <Chuck.Caldarale at unisys.com> wrote: >>>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >>>> On Behalf Of Dibyendu Majumdar >>>> Subject: [LLVMdev] JIT compilation 2-3 times slower in latest LLVM snapshot >>> >>>> I updated my clone of the LLVM github mirror today and I am finding >>>> that the JIT compilation is now 2-3 times slower. The last time I >>>> refreshed was maybe 2 weeks ago. Is there a known change that would >>>> explain this? >>> >>> Debug+Asserts build rather than Release (or Release+Asserts)? >>> >> >> I haven't changed my build - it is a Release build. Have the settings >> in the Released build has changed recently? >> > > Just to be sure I completely rebuilt LLVM (below are some snippets > from the build): > > C:\github\llvm\build>cmake -DCMAKE_INSTALL_PREFIX=c:\LLVM37 > -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -G "Visual > Studio 14 Win64" .. > -- Target triple: x86_64-pc-win32 > -- Native target architecture is X86 > -- Threads enabled. > -- Doxygen disabled. > -- Sphinx disabled. > -- Go bindings disabled. > -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) > -- OCaml bindings disabled. > -- Using Debug VC++ CRT: MDd > -- Using Release VC++ CRT: MD > -- Using MinSizeRel VC++ CRT: MD > -- Using RelWithDebInfo VC++ CRT: MD > -- Using Release VC++ CRT: MD > -- Constructing LLVMBuild project information > -- LLVMHello ignored -- Loadable modules not supported on this platform. > -- Targeting X86 > -- BugpointPasses ignored -- Loadable modules not supported on this platform. > -- Configuring done > -- Generating done > -- Build files have been written to: C:/github/llvm/build > > > Visual Studio output: > > 140>Project not selected to build for this solution configuration > 141>------ Skipped Build: Project: check-all, Configuration: Release x64 ------ > 141>Project not selected to build for this solution configuration > 142>------ Skipped Build: Project: check, Configuration: Release x64 ------ > 142>Project not selected to build for this solution configuration > ========== Build: 136 succeeded, 0 failed, 0 up-to-date, 6 skipped =========> > and > > 1>------ Build started: Project: LTO_exports, Configuration: Release x64 ------ > 2>------ Build started: Project: intrinsics_gen, Configuration: > Release x64 ------ > 3>------ Build started: Project: LibOptionsTableGen, Configuration: > Release x64 ------ > 4>------ Build started: Project: X86CommonTableGen, Configuration: > Release x64 ------ > 5>------ Build started: Project: llvm-ranlib, Configuration: Release x64 ------ > 6>------ Build started: Project: llvm-lib, Configuration: Release x64 ------ > 7>------ Build started: Project: INSTALL, Configuration: Release x64 ------ > 7> -- Install configuration: "Release" > > > Same issue. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev