[lldb-dev] lldb compiled from source 5X slower than homebrew or default lldb

Adrian Prantl via lldb-dev lldb-dev at lists.llvm.org
Mon Mar 12 14:59:40 PDT 2018


If this is a Mac I would recommend to build both lldbs in RelWithDebInfo mode and then run them through Instruments and compare the traces. I'd be very interested in learning what the cause for the slowdown is.

-- adrian

> On Mar 12, 2018, at 2:57 PM, Timothee Cour <timothee.cour2 at gmail.com> wrote:
> 
> after further inspection it turns out it's a performance regression
> between llvm 5 and llvm 6:
> 
> $homebrew_D/Cellar/llvm/5.0.1/lldb -s test_lldb.txt -- prog
> 8 seconds
> $homebrew_D/Cellar/llvm/6.0.0/bin/lldb -s test_lldb.txt -- prog
> 40 seconds
> 
> cat test_lldb.txt:
> ```
> b FOO
> r
> bt
> q
> ```
> 
> prog is some binary I'm debugging. It's unfortunately hard to reduce.
> What are good ways to investigate this?
> 
> 
> 
> On Mon, Mar 12, 2018 at 1:42 PM, Adrian Prantl <aprantl at apple.com> wrote:
>> Have you tried diff'ing your cmake invocation against the on used by homebrew?
>> 
>> -- adrian
>> 
>>> On Mar 9, 2018, at 12:59 AM, Timothee Cour via lldb-dev <lldb-dev at lists.llvm.org> wrote:
>>> 
>>> while testing out https://github.com/llvm-mirror/lldb/pull/3 I noticed
>>> that when I compiled lldb from source (even un-modified from git HEAD)
>>> it was 5X slower than homebrew lldb or default lldb:
>>> 
>>> I'm compiling lldb as follows:
>>> ```
>>> git clone https://github.com/llvm-mirror/llvm.git
>>> cd llvm/tools
>>> git clone https://github.com/llvm-mirror/lldb
>>> ## also, patch in https://github.com/llvm-mirror/lldb/pull/3
>>> git clone https://github.com/llvm-mirror/clang
>>> cd ..
>>> mkdir build
>>> cd build
>>> ccmake .. -G Ninja
>>> # here I set: CMAKE_BUILD_TYPE      Release
>>> ninja all
>>> ```
>>> 
>>> I also tried setting `LLVM_ENABLE_ASSERTIONS OFF` but no difference
>>> 
>>> 
>>> commands.txt
>>> ```
>>> b FOO
>>> r
>>> bt
>>> q
>>> ```
>>> 
>>> ./test is some program i have.
>>> 
>>> ```
>>> time lldb -s commands.txt -- ./test
>>> 8 seconds
>>> time ./build/bin/lldb -s commands.txt -- ./test
>>> 40 seconds
>>> ```
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>> 



More information about the lldb-dev mailing list