<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>9975</bug_id>
          
          <creation_ts>2016-07-19 13:46:52 +0000</creation_ts>
          <short_desc>Analyse performance regression against 2.1</short_desc>
          <delta_ts>2016-10-20 15:32:43 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>2.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>2.2 M4</target_milestone>
          <dependson>10367</dependson>
    
    <dependson>10386</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Burton">ross.burton</reporter>
          <assigned_to name="Markus Lehtonen">markus.lehtonen</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>eduard.bartosh</cc>
    
    <cc>jianxun.zhang</cc>
    
    <cc>joshuagloe</cc>
    
    <cc>maxin.john</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64155</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-07-19 13:46:52 +0000</bug_when>
    <thetext>There have been performance regressions in the 2.1 cycle, we need to analyse and hopefully mitigate these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64598</commentid>
    <comment_count>1</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-07-28 15:40:34 +0000</bug_when>
    <thetext>Ed, you&apos;ve been looking at this over the last week, what are your conclusions so far?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64607</commentid>
    <comment_count>2</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2016-07-28 19:07:15 +0000</bug_when>
    <thetext>I&apos;ve noticed 2 serious performance regressions:

1. gcc upgrade increased build time of core-image-minimal to around 3%:
one commit before bumping gcc: 2718e843b3502afa1e21510bb6b9c4720f75124c +0.31%
        Command being timed: &quot;bitbake core-image-minimal&quot;
        User time (seconds): 10248.53
        System time (seconds): 843.68
        Percent of CPU this job got: 601%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 30:44.21
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 807312
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 2545
        Minor (reclaiming a frame) page faults: 577796008
        Voluntary context switches: 16200753
        Involuntary context switches: 12528911
        Swaps: 0
        File system inputs: 3208488
        File system outputs: 47013800
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Bump gcc 6.1: 239efccccaa74912b3fc9ec717e93f528e2c3836 +3.27%
        Command being timed: &quot;bitbake core-image-minimal&quot;
        User time (seconds): 10567.75
        System time (seconds): 851.97
        Percent of CPU this job got: 606%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 31:23.53
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 916736
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 3404
        Minor (reclaiming a frame) page faults: 580093046
        Voluntary context switches: 15581624
        Involuntary context switches: 12004959
        Swaps: 0
        File system inputs: 3903592
        File system outputs: 49077408
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

This regression influenced almost all tasks, so I doubt we can do anything about it.

2. Enabling kernel printk feature increased build time of core-image-minimal around 2.7%

You can see more details in this ml thread: http://lists.openembedded.org/pipermail/openembedded-core/2016-July/124378.html

This is about to be fixed. the fix is already under review:
http://lists.openembedded.org/pipermail/openembedded-core/2016-July/124466.html

I&apos;m testing it. Will comment on the thread and here about results when I&apos;m done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64612</commentid>
    <comment_count>3</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2016-07-28 20:06:24 +0000</bug_when>
    <thetext>The fix has been merged to yocto-4.4 branch of yocto-kernel-cache:
https://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/commit/?h=yocto-4.4&amp;id=d3cc76c3cb20247b16c16b2367decf08b5fb90fa
And included into last kernel update:
http://lists.openembedded.org/pipermail/openembedded-core/2016-July/124466.html

With the fix applied kernel build time decreased by 22.84%:

Build Configuration:
BB_VERSION        = &quot;1.31.0&quot;
BUILD_SYS         = &quot;x86_64-linux&quot;
NATIVELSBSTRING   = &quot;openSUSE-13.2&quot;
TARGET_SYS        = &quot;i586-poky-linux&quot;
MACHINE           = &quot;qemux86&quot;
DISTRO            = &quot;poky&quot;
DISTRO_VERSION    = &quot;2.1+snapshot-20160728&quot;
TUNE_FEATURES     = &quot;m32 i586&quot;
TARGET_FPU        = &quot;&quot;
meta
meta-poky
meta-yocto-bsp    = &quot;master:039f47ad197a9a53109c9f3deadd9c35e62c056d&quot;

before the fix:
	Command being timed: &quot;bitbake virtual/kernel&quot;
	User time (seconds): 1367.06
	System time (seconds): 162.06
	Percent of CPU this job got: 372%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 6:50.56
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 627120
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 1292
	Minor (reclaiming a frame) page faults: 61097551
	Voluntary context switches: 885976
	Involuntary context switches: 715312
	Swaps: 0
	File system inputs: 1024568
	File system outputs: 13316088
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

after the fix:
	Command being timed: &quot;bitbake virtual/kernel&quot;
	User time (seconds): 1050.97
	System time (seconds): 128.84
	Percent of CPU this job got: 434%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 4:31.35
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 387148
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 1264
	Minor (reclaiming a frame) page faults: 52467379
	Voluntary context switches: 589830
	Involuntary context switches: 457987
	Swaps: 0
	File system inputs: 1107424
	File system outputs: 3363464
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0


And consumed disk space decreased by 89.62%:

before the fix:
$ du -sh tmp/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/deploy-linux-yocto/
106M

after the fix:
$ du -sh tmp/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+86bf91f444_8361321fec-r0/deploy-linux-yocto/
11M</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64619</commentid>
    <comment_count>4</comment_count>
    <who name="Ed Bartosh">eduard.bartosh</who>
    <bug_when>2016-07-28 21:24:36 +0000</bug_when>
    <thetext>There is still noticeable regression in build time between krogoth and master even not counting gcc upgrade, but unfortunately it&apos;s hard to bisect.

The difference is about 5.42% (gcc upgrade 3% regression included):

krogoth: 98c57bb512ea6790db8604fcf0b88c81651d2ab4

        Command being timed: &quot;bitbake core-image-minimal&quot;
        User time (seconds): 13664.25
        System time (seconds): 3676.42
        Percent of CPU this job got: 1193%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 24:12.46
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 808236
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 6003
        Minor (reclaiming a frame) page faults: 590008594
        Voluntary context switches: 26319785
        Involuntary context switches: 1829105
        Swaps: 0
        File system inputs: 2846240
        File system outputs: 60929392
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

master with the kernel fix applied manually: 039f47ad197a9a53109c9f3deadd9c35e62c056d
        Command being timed: &quot;bitbake core-image-minimal&quot;
        User time (seconds): 14569.65
        System time (seconds): 3711.03
        Percent of CPU this job got: 1213%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 25:05.91
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 917772
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 8118
        Minor (reclaiming a frame) page faults: 622000924
        Voluntary context switches: 18639324
        Involuntary context switches: 1847441
        Swaps: 0
        File system inputs: 3191592
        File system outputs: 47418720
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65340</commentid>
    <comment_count>5</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-08-19 08:08:33 +0000</bug_when>
    <thetext>Some numbers comparing 2.1.1 with master from one of the autobuilders:

ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,krogoth-15.0.0-212-gf5da2a5,57:51.81,4:06.57,57:26.60,2:02.54,0:14.79,0:09.75,0:01.13,2:36.55,25401936,5415940,1282886,4786477
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,krogoth-15.0.0-212-gf5da2a5,56:29.21,4:14.75,56:33.10,2:13.42,0:14.76,0:09.97,0:01.07,2:36.51,25400748,5415756,1283061,4786623
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,krogoth-15.0.0-212-gf5da2a5,56:36.68,4:08.35,56:59.47,2:08.62,0:14.62,0:10.38,0:01.22,2:36.66,25401892,5415728,1282998,4786626
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,krogoth-15.0.0-212-gf5da2a5,56:38.42,4:05.47,56:57.02,2:03.41,0:14.59,0:09.77,0:01.08,2:35.08,25400900,5415728,1283066,4786630
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,yocto-2.1.1,57:02.88,4:06.96,57:19.02,2:05.43,0:14.66,0:09.79,0:01.07,2:39.22,25401604,5415920,1282963,4786567
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,yocto-2.1.1,56:49.96,4:08.19,56:51.28,2:14.09,0:14.77,0:09.76,0:01.14,2:49.36,25403612,5415768,1282860,4786639
ypperf02,(HEADdetachedatf5da2a5):f5da2a5913319ad6ac2141438ba1aa17576326ab,yocto-2.1.1,56:34.36,4:09.11,56:51.19,2:09.10,0:14.59,0:10.08,0:01.07,2:37.05,25401404,5415640,1283272,4786646
ypperf02,master:6b66e9317f4ec3a69f98f29836aafa35b52f3fc7,uninative-1.3,1:01:46,4:21.62,1:01:31,2:12.09,0:16.19,0:11.14,0:01.22,5:22.37,26660600,6418296,1477475,5440033
ypperf02,master:6b66e9317f4ec3a69f98f29836aafa35b52f3fc7,uninative-1.3,1:02:17,4:22.33,1:01:40,2:10.13,0:16.32,0:11.00,0:01.20,5:35.43,26663080,6418300,1477026,5439533
ypperf02,master:6b66e9317f4ec3a69f98f29836aafa35b52f3fc7,uninative-1.3,1:01:27,4:23.72,1:01:44,2:17.43,0:16.18,0:11.24,0:01.22,5:44.19,26662208,6418024,1477277,5439823
ypperf02,master:6b66e9317f4ec3a69f98f29836aafa35b52f3fc7,uninative-1.3,1:02:02,4:26.63,1:01:29,2:16.40,0:16.17,0:11.17,0:01.21,5:20.38,26660756,6419592,1477189,5440337

Basically, builds take around 5 minutes longer, parsing from cold is ~1.5s slower, hot parsing is around 1s slower, or disk footprint is around 1GB larger, our from sstate footprint has increased by 1G too (5.4-&gt;6.4), and esdk installation time has gone from 2.5mins to 5.5mins. This doesn&apos;t look good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65341</commentid>
    <comment_count>6</comment_count>
      <attachid>3368</attachid>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-19 09:08:32 +0000</bug_when>
    <thetext>Created attachment 3368
build perf regressions

Not nice :( I quickly put the numbers into an excel sheet. Build-time regression is ~8% on average, parsing regression ~10%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65488</commentid>
    <comment_count>7</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-08-24 15:55:36 +0000</bug_when>
    <thetext>I&apos;d suggest that another approach here might be to look into the disk usage changes. Those are much easier to bisect and might hint at where the performance degradations came from. We&apos;ll split the esdk regressions into a separate bug that Paul will look at.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65580</commentid>
    <comment_count>8</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-29 06:54:16 +0000</bug_when>
    <thetext>Looking into the core-image-sato build time, I found that one culprit seems to be

commit ce376577a963ce2d906a5b4fac756d57e3c4353d
Author: Maxin B. John &lt;maxin.john@intel.com&gt;
Date:   Mon May 23 18:39:56 2016 +0300

    sqlite3: update to 3.13.0
    
    3.12.2 -&gt; 3.13.0

In my tests it seems to cause about 2% increase in the build time.

I&apos;m running another bisect on the build times to see if I can find something else.

After that I will take a look at the eSDK installation time and disk usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65602</commentid>
    <comment_count>9</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-30 06:55:03 +0000</bug_when>
    <thetext>I studied the eSDK deploy time a bit. In my setup the regression is about 89% (4:30 -&gt; 8:30). It seems that about 3 minutes of that regression (66% regression) is caused by:
commit f3b62c1c2e47968084342d1fe2a9af596a3ba93c
Author: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
Date:   Thu Jun 23 22:59:11 2016 +1200

    bitbake: runqueue: add ability to enforce that tasks are setscened</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65629</commentid>
    <comment_count>10</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-31 07:21:15 +0000</bug_when>
    <thetext>My test result suggest that the rest of the eSDK install time regression happened was caused by the Python3 transition (between fa4275b..a15e538)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65631</commentid>
    <comment_count>11</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-31 08:02:00 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; My test result suggest that the rest of the eSDK install time regression
&gt; happened was caused by the Python3 transition (between fa4275b..a15e538)

As such, a performance regression caused by simply a transition to Python3 sounds strange. One problem is that further bisecting  is not possible because poky is in unbuildable state between fa4275b..a15e538.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65641</commentid>
    <comment_count>12</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-08-31 14:41:57 +0000</bug_when>
    <thetext>I also examined bitbake parsing time. It seems that the regression is caused by (at least mostly) during Python3 transition (52c4b7f..0f2c593).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65768</commentid>
    <comment_count>13</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-09-02 12:38:51 +0000</bug_when>
    <thetext>Regarding parsing times, Python3 seems to be the issue. There are very small regression over time but they are hard to pinpoint. I think they&apos;re just caused by adding new files that need to be parsed, e.g.
commit 6ea164c208ab43251544525e83644a8f84d3a6f8
Author: Khem Raj &lt;raj.khem@gmail.com&gt;
Date:   Wed May 11 10:35:04 2016 -0700

    gcc: Add gcc6 recipes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66247</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-16 15:23:44 +0000</bug_when>
    <thetext>AR to Markus for a status update :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66414</commentid>
    <comment_count>15</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-09-21 11:56:16 +0000</bug_when>
    <thetext>A recap from my findings so far.

1. core-image-sato build time
About half of the regression is caused by gcc6. One fourth is caused by upgradeing sqlite to 3.13.0. I&apos;m missing data for the last quarter.

2. bitbake parsing time
Caused by Python3 transition (somewhere between 52c4b7f..0f2c593). Also slight increase because of new files to be parsed (e.g. addition of gcc6).

3. eSDK
About 2/3 of the regression is caused by f3b62c1 (bitbake: runqueue: add ability to enforce that tasks are setscened).
The rest of the regression is because of Python3 (somewhere between fa4275b..a15e538)

I realized that I&apos;ve still some work to do on bisecting core-image-sato. I&apos;ll give you some numbers on that shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66415</commentid>
    <comment_count>16</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-21 13:00:56 +0000</bug_when>
    <thetext>Can you elaborate on the sqlite3 impact?  In a quick comparison here using buildstats-diff, 3.14 is 1s faster to compile than 3.12 which may well be noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66543</commentid>
    <comment_count>17</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-09-23 10:46:17 +0000</bug_when>
    <thetext>Regarding sqlite, I hadn&apos;t analyzed the regression more deeply. Now that I looked at that I saw the same thing: build time of sqlite itself is even shorter after the update.

Somehow the update affects the overall build time of other packages. Not cputime but the wall clock time.

I developed my tooling (buildstats-diff) a bit and got the following data:
$ buildstats-diff buildstats-40233_g9ade84b-20160921_184610 buildstats-40234_gce37657-20160921_220750 --multi --diff-attr=walltime --min-absdiff=15
INFO: Averaging over 3 buildstats from buildstats-40233_g9ade84b-20160921_184610
INFO: Averaging over 3 buildstats from buildstats-40234_gce37657-20160921_220750
Ignoring tasks less than 00:05.0 (5.0s)
Ignoring differences less than 00:15.0 (15.0s)

  PKG                   TASK                  ABSDIFF  RELDIFF  WALLTIME1 -&gt; WALLTIME2
  ncurses               do_package_qa          -25.8s   -77.3%      33.4s -&gt; 7.6s     
  ncurses               do_install             -22.6s   -34.6%      65.4s -&gt; 42.8s    
  db                    do_package_qa          -21.5s   -48.7%      44.1s -&gt; 22.6s    
  binutils              do_compile             -19.8s   -10.7%     185.5s -&gt; 165.7s   
  openssl               do_compile             -18.8s   -13.9%     135.1s -&gt; 116.3s   
  gcc-cross-i586        do_compile             -18.4s   -10.4%     177.4s -&gt; 159.0s   
  gtk+                  do_compile             -16.5s    -5.5%     297.6s -&gt; 281.1s   
  sqlite3               do_compile             -15.4s   -18.9%      81.2s -&gt; 65.8s    
  ncurses               do_package              15.6s   +68.1%      22.9s -&gt; 38.5s    
  rpm-native            do_configure            16.4s    +5.7%     288.0s -&gt; 304.4s   
  perl                  do_patch                16.9s  +161.9%      10.4s -&gt; 27.3s    
  openssl               do_install              18.2s   +29.7%      61.1s -&gt; 79.3s    
  adwaita-icon-theme    do_package              18.3s   +53.4%      34.2s -&gt; 52.5s    
  linux-yocto           do_patch                19.2s   +93.4%      20.6s -&gt; 39.8s    
  gettext               do_package_qa           19.2s   +82.9%      23.2s -&gt; 42.4s    
  db                    do_package              20.3s   +60.8%      33.4s -&gt; 53.7s    
  ncurses               do_package_write_rpm    22.1s  +271.8%       8.1s -&gt; 30.2s    
  adwaita-icon-theme    do_install              27.2s    +6.8%     397.3s -&gt; 424.5s   
  glib-2.0              do_package              27.6s   +34.2%      80.6s -&gt; 108.2s   
  db                    do_package_write_rpm    36.4s  +159.3%      22.9s -&gt; 59.3s    
  glibc-locale          do_package_qa           40.5s   +32.3%     125.1s -&gt; 165.6s   
  glibc-locale          do_package_write_rpm    42.0s   +16.6%     252.7s -&gt; 294.7s   
  libxml2               do_package              43.5s   +31.2%     139.7s -&gt; 183.2s   
  glibc-locale          do_package             107.9s   +62.7%     172.2s -&gt; 280.1s   
  perl                  do_package             161.0s   +92.1%     174.7s -&gt; 335.8s   

Cumulative walltime:
  683.6s    +2.9%    6:27:04.3 (23224.3s) -&gt; 6:38:27.9 (23907.9s)


It seems that glibc-locale and perl are especially badly affected but I don&apos;t know why. I looked at the io stats but they didn&apos;t reveal anything obvious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66553</commentid>
    <comment_count>18</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-09-23 15:50:35 +0000</bug_when>
    <thetext>One of the big users of sqlite is pseudo. Its possible the new version of sqlite contains something which slows it down and a slower pseudo would slow down pseudo using tasks like do_install and do_package. It shouldn&apos;t change do_compile or do_patch as these are not run under pseudo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66675</commentid>
    <comment_count>19</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-09-28 10:15:30 +0000</bug_when>
    <thetext>Oh, pseudo could explain it.

I did some more verification: I compared current master to current master with sqlite downgraded to 3.12.2. The end result is that with 3.12.2 the build time is faster - regression being ~2%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66798</commentid>
    <comment_count>20</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-10-03 08:33:22 +0000</bug_when>
    <thetext>I investigated the tmpdir footprint. It seems that the biggest culprit is gcc6:

commit 239efccccaa74912b3fc9ec717e93f528e2c3836
    tcmode-default: Bump gcc
    gcc 6.1
In my setup tmpdir size is increased from 25.7GB to about 26.7GB


Then there are smaller changes, e.g.
commit 141fa73f97d72e074f7c1a3ce1efe1cd84f07b78
...
commit 5a3a4a7fbb1b2140a739f0282ff5740750b7185e
    Python3 transition
26.7GB --&gt; 27.3GB

commit e4738fdb8fae3a10c9f879bf2a768352ad68f669
    matchbox-terminal: Upgrade to 0.1
27.4GB --&gt; 27.7GB

commit e6c48b1213848757c3d3806a1985756bd7d5f30d
    qemu: 2.6.0 -&gt; 2.7.0
26.8GB --&gt; 27.0GB


One notable decresase in size of tmpdir:
commit 30ab044dacf2b8ece625c0735b620b2c47b8cf40
    binutils: Bump to 2.27
27.6GB --&gt; 26.7GB


So, the end result is that gcc6 and Python3 seem to be the biggest contributors to the increase in tmpdir footprint. On top of that there are numerous commits each of which increase the footprint slightly, many of them some tens of megabytes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66861</commentid>
    <comment_count>21</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-10-04 13:30:50 +0000</bug_when>
    <thetext>With sqlite Version 3.14.1:

Command being timed: &quot;bitbake core-image-minimal&quot;
User time (seconds): 17227.75
System time (seconds): 2842.80
Percent of CPU this job got: 1061%
Elapsed (wall clock) time (h:mm:ss or m:ss): 31:31.48

After upgrade to sqlite Version 3.14.2

Command being timed: &quot;bitbake core-image-minimal&quot;
User time (seconds): 17120.92
System time (seconds): 2803.17
Percent of CPU this job got: 1090%
Elapsed (wall clock) time (h:mm:ss or m:ss): 30:26.33

Observed speedup for core-image-minimal is around 1 minute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66865</commentid>
    <comment_count>22</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-10-04 14:07:21 +0000</bug_when>
    <thetext>split the sqlite part and mark this as depend on sqlite build performance bug (#10367)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67030</commentid>
    <comment_count>23</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-10-07 05:43:16 +0000</bug_when>
    <thetext>I took a look at the eSDK deploy footprint, too. OVerall, the size has increased from cs. 4.5GiB to ca. 5.2GiB. I found two points of regression.

commit 239efccccaa74912b3fc9ec717e93f528e2c3836
    tcmode-default: Bump gcc    
    gcc 6.1
4.55GiB --&gt; 4.83GiB


There&apos;s a bigger increase somewhere between 4071217...0e3281f:
4.75GiB --&gt; 5.31GiB

However, eSDK is in unbuildable state between those commits because of the progress bar stuff so no more details. Analyzing it further would require re-ordering the commits to make it buildable again. I quickly tried this but stopped when patches didn&apos;t apply cleanly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67392</commentid>
    <comment_count>24</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-10-19 21:50:25 +0000</bug_when>
    <thetext>Note that we merged the sqlite regression fix mentioned in comment 22 (bug 10367).

CCing Paul for any opinions on Markus&apos;s comments in comment 23.  In particular oe-core 2b9c092 is in that range and adds more dependencies to the eSDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67397</commentid>
    <comment_count>25</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2016-10-20 01:44:41 +0000</bug_when>
    <thetext>One way to get results between those two commits would be to rebase and simply drop all of the progress stuff - since it&apos;s unlikely that would be impacting the size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67408</commentid>
    <comment_count>26</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-10-20 09:12:10 +0000</bug_when>
    <thetext>The rest of the regression (i.e. other than what was caused by sqlite and eSDK changes) seem to be because of gcc6 and Python3. I guess we cannot do much about those, at least in 2.2 timeframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67409</commentid>
    <comment_count>27</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-10-20 09:19:04 +0000</bug_when>
    <thetext>That is, Python3 transition and gcc6 seems to cause at most of the regression in the sato build time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67424</commentid>
    <comment_count>28</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-10-20 15:32:43 +0000</bug_when>
    <thetext>Closing this as we&apos;ve analyzed the regressions and fixed what we can for 2.2. Some notes from Richard:
http://lists.openembedded.org/pipermail/openembedded-core/2016-October/127825.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3368</attachid>
            <date>2016-08-19 09:08:32 +0000</date>
            <delta_ts>2016-08-19 09:08:32 +0000</delta_ts>
            <desc>build perf regressions</desc>
            <filename>build_perf.ods</filename>
            <type>application/octet-stream</type>
            <size>23016</size>
            <attacher name="Markus Lehtonen">markus.lehtonen</attacher>
            
              <data encoding="base64">UEsDBBQAAAgAAK5IE0mFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAgAAK5IE0nirx2Q3CgAANwoAAAYAAAA
VGh1bWJuYWlscy90aHVtYm5haWwucG5niVBORw0KGgoAAAANSUhEUgAAANsAAAD/CAMAAABPYFNS
AAABEVBMVEUDAwMLCwsODhATExMWFhkcHBwdHSAiIiMlJSkrKywtLTIzMzQ0NDo7Ozw8PEJCQkND
Q0pLS0tLS1NPT1hTU1NSUltbW1tWVmBaWmReXmljY2NhYWxqampmZnFpaXRtbXlzc3NxcX17e3t0
dIF5eYZ8fIqDg4OAgI6Li4uEhJOIiJeMjJuTk5OQkJ+bm5uTk6OXl6ibm6uenrCjo6Orq6uiorSm
prirq76zs7O2tr++vr6ursGxscW1tcm5uc29vdHDw8PLy8vBwdbFxdrIyNHIyN7T09PT09vb29vM
zOLQ0ObU1Ovc3OXY2O/b2/Pf3/jj4+Pj4+vr6+vl5f7t7fXo6P7z8/P09P7+/v4AAAD///83Uqvt
AAAnhklEQVR42u19D0PbONJ3eXjZNJsa45zxUseAcYjrNF6nqZ3Ga/7EIg86hVyNTjq0+v6f5B05
JJA0bCnQXp+7uDENxnH084zmNzOSxq/kV7bsxbbWyeBltuAx30akfPVVbPKFtj9P+Attp4/8xq9i
y18M20C16+bZ//hN9lLYfkK5/fHzYRu8iNhuXhBbvpbb4+R28yL//pP7209pJ19GbPy/zk6y/1w7
yex/s528eRm5ZcLRQxnqJgkcj1m6uv1Mp4ZtezoLdVd6uh3+eLm9iGNyGpssJhUWWp4tAz2oSsbo
Ftkkm7meeOEG2hKWh39wf7t5EcndZKEjE1STien50jPCSJg23aIVuUWtYCt4lVel66Ef70++gOT4
H6RqWFK3ailgw1XLg6uD3BQ2M6xY1bhm1jzxb5DbzUvwm4AIRhIGugg9jZaXJ+U/KhhsKXKCf0d/
ewHJfbVJvmbQH28nX0Ry39WfJPbXPoQeklu/pX627qRQ4Z1OdZUoKw8IWGGz/0p0VSGFxh6HLbFj
mdq+yANP+I7SdOoR34tCDw4nMnKCVPoO2FwpfPW7ndOKznw7XcL2qVEMjwe/D941jze7e7zX4+/2
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
rkgTSQAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAACAAArkgT
SQAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwMEFAAACAAArkgTSQAA
AAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQAAAgAAK5I
E0kAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwMEFAAICAgArkgT
SQAAAAAAAAAAAAAAACcAAABDb25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwD
AFBLBwgAAAAAAgAAAAAAAABQSwMEFAAACAAArkgTSQAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0
aW9uczIvc3RhdHVzYmFyL1BLAwQUAAAIAACuSBNJAAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRp
b25zMi9wcm9ncmVzc2Jhci9QSwMEFAAACAAArkgTSQAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0
aW9uczIvdG9vbGJhci9QSwMEFAAACAAArkgTSQAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9u
czIvdG9vbHBhbmVsL1BLAwQUAAgICACuSBNJAAAAAAAAAAAAAAAAFQAAAE1FVEEtSU5GL21hbmlm
ZXN0LnhtbK1Uy27DIBC85yssrpWhzalCcXKo1C9IP4DitYMEC2KXKP772lHzqKpUsZobuzs7M7DA
anMIvtpDJhexES/yWVSANrYO+0Z8bN/rV7FZL1bBoOuAWJ8W1diHdA4bUTLqaMiRRhOANFsdE2Ab
bQmArH/i9VHpHF0ZWIr1orrodc5DPfbn4YLuivd1MrxrhLpFckkHaJ2peUjQCJOSd9bwCFN7bOXR
sLz2KSllMC3tAFioOVa2uxI+0ThPik9LmbC/YcUF04Oa6rNUCJjH2ZAcz/MGM8OB1VSeRWwj8rT/
R/MSDx4ebzcAm8eTfudkbrs7btCIepqt8Raxc33JRwpaKmMteBjDmJUtOf89g/9p3fkqqOBkQRYn
7TXDJL5Sv76C9RdQSwcIUyqpnyEBAABFBAAAUEsBAhQAFAAACAAArkgTSYVsOYouAAAALgAAAAgA
AAAAAAAAAAAAAAAAAAAAAG1pbWV0eXBlUEsBAhQAFAAACAAArkgTSeKvHZDcKAAA3CgAABgAAAAA
AAAAAAAAAAAAVAAAAFRodW1ibmFpbHMvdGh1bWJuYWlsLnBuZ1BLAQIUABQACAgIAK5IE0lGPIm8
TAUAAK8hAAAMAAAAAAAAAAAAAAAAAGYpAABzZXR0aW5ncy54bWxQSwECFAAUAAgICACuSBNJM4Xe
hS0ZAACqfgEACwAAAAAAAAAAAAAAAADsLgAAY29udGVudC54bWxQSwECFAAUAAgICACuSBNJVGWc
t2MGAACDHQAACgAAAAAAAAAAAAAAAABSSAAAc3R5bGVzLnhtbFBLAQIUABQACAgIAK5IE0ne2vfM
hAEAAAcDAAAIAAAAAAAAAAAAAAAAAO1OAABtZXRhLnhtbFBLAQIUABQACAgIAK5IE0m092jSBQEA
AIMDAAAMAAAAAAAAAAAAAAAAAKdQAABtYW5pZmVzdC5yZGZQSwECFAAUAAAIAACuSBNJAAAAAAAA
AAAAAAAAGAAAAAAAAAAAAAAAAADmUQAAQ29uZmlndXJhdGlvbnMyL21lbnViYXIvUEsBAhQAFAAA
CAAArkgTSQAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAHFIAAENvbmZpZ3VyYXRpb25zMi9mbG9h
dGVyL1BLAQIUABQAAAgAAK5IE0kAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAFJSAABDb25maWd1
cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsBAhQAFAAACAAArkgTSQAAAAAAAAAAAAAAABoAAAAA
AAAAAAAAAAAAj1IAAENvbmZpZ3VyYXRpb25zMi9wb3B1cG1lbnUvUEsBAhQAFAAICAgArkgTSQAA
AAACAAAAAAAAACcAAAAAAAAAAAAAAAAAx1IAAENvbmZpZ3VyYXRpb25zMi9hY2NlbGVyYXRvci9j
dXJyZW50LnhtbFBLAQIUABQAAAgAAK5IE0kAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAB5TAABD
b25maWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAQIUABQAAAgAAK5IE0kAAAAAAAAAAAAAAAAcAAAA
AAAAAAAAAAAAAFZTAABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsBAhQAFAAACAAArkgT
SQAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAkFMAAENvbmZpZ3VyYXRpb25zMi90b29sYmFyL1BL
AQIUABQAAAgAAK5IE0kAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAMZTAABDb25maWd1cmF0aW9u
czIvdG9vbHBhbmVsL1BLAQIUABQACAgIAK5IE0lTKqmfIQEAAEUEAAAVAAAAAAAAAAAAAAAAAP5T
AABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAABEAEQBwBAAAYlUAAAAA
</data>

          </attachment>
      

    </bug>

</bugzilla>