Bug#1016949: iwyu not performant

Steven Trabert tsteven4 at gmail.com
Wed Aug 10 12:53:16 BST 2022


Package: iwyu
Version: iwyu 8.17-1
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch
X-Debbugs-Cc: tsteven4 at gmail.com

Dear Maintainer,


   * What led up to the situation?
   Using iwyu takes and inordinate amount of time.
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   As shown in the build logs iwyu was compiled without any optimization.  By
   setting CMAKE_BUILD_TYPE=Release optimization is used in the compilation.
   * What was the outcome of this action?
   In one of my use cases the execution time of iwyu went from 3m12s to 1m1s.
   * What outcome did you expect instead?
   Reduced execution time was expected with optimization.


In Ubuntu, the attached patch was applied to achieve the following:

This change is needed to make iwyu performant.  While iwyu currently is
functional execution is quite slow.


  * set CMAKE_BUILD_TYPE=Release to make executable performant 


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), (100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-43-generic (SMP w/2 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
diff -Nru iwyu-8.17/debian/rules iwyu-8.17/debian/rules
--- iwyu-8.17/debian/rules	2021-12-09 05:25:36.000000000 -0700
+++ iwyu-8.17/debian/rules	2022-08-10 05:34:02.000000000 -0600
@@ -22,7 +22,7 @@
 
 
 override_dh_auto_configure:
-	dh_auto_configure -- -DCMAKE_CXX_FLAGS="$(ADDITIONAL_CXX_FLAGS)" -DLLVM_PATH=/usr/lib/llvm-12/ -DCMAKE_PREFIX_PATH=/usr/lib/llvm-12/
+	dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="$(ADDITIONAL_CXX_FLAGS)" -DLLVM_PATH=/usr/lib/llvm-12/ -DCMAKE_PREFIX_PATH=/usr/lib/llvm-12/
 
 
 override_dh_auto_build:


More information about the Pkg-llvm-team mailing list