[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1059627: Lintian: running with --jobs=8 seems slower than --jobs=1



Package: lintian
Severity: minor

Currently on my fairly performant Intel i7 / Dell XPS 13 laptop the
Lintian run for the mariadb source package takes 6-7 minutes. I spent
some time analyzing what is going running Lintian with --debug and
--jobs and I noticed that running Lintian with --jobs=8 is actually
slower than with --jobs=1:

time lintian --verbose --info --color=always
--display-level=">=pedantic" --display-experimental --show-overrides
--jobs=1
->
real 6m34.735s
user 6m24.961s
sys 0m15.831s

time lintian --verbose --info --color=always
--display-level=">=pedantic" --display-experimental --show-overrides
--jobs=8
->
real 7m7.150s
user 6m56.719s
sys 0m17.025s

i also kept an eye on my CPU core utilization with btop and Gnome
System Monitor, and they most of the time showed only one CPU at 100%.
Hence I suspect that Lintian isn't actually running anything in
parallel despite --jobs.

Any tips on how to debug the --jobs activity and Lintian parallelism?



Side note: this is what the --debug showed as the longest running
Lintian checks in both runs:

$ grep "(.*)$" perf-jobs-1.log | awk '{print $NF,$0}' | sort | tail
(0.539s) Check debian/po-debconf for source:mariadb_1:10.11.4-1ubuntu1
done (0.539s)
(0.683s) Check obsolete-sites for source:mariadb_1:10.11.4-1ubuntu1
done (0.683s)
(11.859s) Check languages/python/distutils for
source:mariadb_1:10.11.4-1ubuntu1 done (11.859s)
(144.865s) Check files/source-missing for
source:mariadb_1:10.11.4-1ubuntu1 done (144.865s)
(32.166s) Check cruft for source:mariadb_1:10.11.4-1ubuntu1 done (32.166s)
(390.613s) Checking all of group mariadb_1:10.11.4-1ubuntu1 done (390.613s)
(6.135s) Check files/unicode/trojan for
source:mariadb_1:10.11.4-1ubuntu1 done (6.135s)
(64.884s) Check files/contents/line-length for
source:mariadb_1:10.11.4-1ubuntu1 done (64.884s)
(66.149s) Check debian/copyright/dep5 for
source:mariadb_1:10.11.4-1ubuntu1 done (66.149s)
(7.293s) Check files/generated for source:mariadb_1:10.11.4-1ubuntu1
done (7.293s)


$ grep "(.*)$" perf-jobs-8.log | awk '{print $NF,$0}' | sort | tail
(0.667s) Check debian/po-debconf for source:mariadb_1:10.11.4-1ubuntu1
done (0.667s)
(0.687s) Check obsolete-sites for source:mariadb_1:10.11.4-1ubuntu1
done (0.687s)
(13.626s) Check languages/python/distutils for
source:mariadb_1:10.11.4-1ubuntu1 done (13.626s)
(151.884s) Check files/source-missing for
source:mariadb_1:10.11.4-1ubuntu1 done (151.884s)
(33.043s) Check cruft for source:mariadb_1:10.11.4-1ubuntu1 done (33.043s)
(422.999s) Checking all of group mariadb_1:10.11.4-1ubuntu1 done (422.999s)
(68.311s) Check debian/copyright/dep5 for
source:mariadb_1:10.11.4-1ubuntu1 done (68.311s)
(7.061s) Check files/unicode/trojan for
source:mariadb_1:10.11.4-1ubuntu1 done (7.061s)
(76.190s) Check files/contents/line-length for
source:mariadb_1:10.11.4-1ubuntu1 done (76.190s)
(8.087s) Check files/generated for source:mariadb_1:10.11.4-1ubuntu1
done (8.087s)


I am not a Perl expert so I need some guidance in how to debug this.

Thanks!


Reply to: