On 2020/04/17 22:44:12, Dan Eble wrote: > On 2020/04/17 19:07:44, hanwenn wrote: > > The profile data itself is also a more precise source for measuring > > improvements that are close to the noise level, like > > https://codereview.appspot.com/551730043/ > > Investigating improvements that are close to the noise level--never mind, I > won't tell you how to spend your time.
But you do drop a cloaked suggestion. The noise level is contextually determined: if you do more experiments under better controlled circumstances, the noise level decreases. But it takes more time, and it is time I can't do other work on LilyPond; there is only so much coffee one can drink on a single day. (You'd think that a 4-core machine would be able to put the lilypond task on a dedicated CPU, but it looks it doesn't work like that in practice.) I'm pretty sure there is still significant gains (say, 10%) to be had in everything related to skyline processing. For example, we create (way too detailed) glyph outlines, and even though they're constant, they're not cached. We can probably also shortcut the glyph -> SCM lists -> skyline path by constructing the skyline directly from the freetype outline. The skyline functions construct both boxes and buildings, where just buildings would suffice. Many of these inefficiencies will be solved in smaller steps, with smaller (~1%) gains. For the MSDM score, a 1% gain is 0.4 seconds, while we see 0.3s variability between runs. So, unfortunately, yes, working on performance has to happen at the noise level. > 5.5% is nice, though. Thanks. > > https://codereview.appspot.com/583750043/diff/555670043/lily/skyline.cc > File lily/skyline.cc (right): > > https://codereview.appspot.com/583750043/diff/555670043/lily/skyline.cc#newcode74 > lily/skyline.cc:74: for (vector<Building>::const_iterator i = b.begin (); i != > b.end (); i++) > for (auto i : b) > > https://codereview.appspot.com/583750043/diff/555670043/lily/skyline.cc#newcode219 > lily/skyline.cc:219: for (; cit != scp->end (); cit++) > ++cit both done. https://codereview.appspot.com/583750043/