I'm still thinking about PGO: 1. I did another test. I wanted to know the effect on games, so I played BananaBread and eyeballed modal fps. (If anyone knows of a more accurate way to measure fps in the game, let me know.) I got:
opt 38 pgo 41 Similar magnitude to other domains. Super-unscientific test, though. 2. PGO-related topcrashes The reason I started studying PGO was that PGO-related topcrashes are really vexing for developers, and I wanted to be sure dealing with all that vexation was actually paying off. It seems that it is, but now I want to ask, can it vex less? The lifecycle of a PGO-related topcrash seems to be something like this: 1. Someone changes the code base in a way that exposes a bug in the PGO compiler system. 2. A topcrash gets noticed. 3. Developers look at the topcrash and conclude it is a PGO bug. 4. Developers patch code around the crash point by turning off optimizations locally, or randomly frobulating the code. 5. The topcrash goes away. I assume that some time after that: 6. Someone changes the code base in a way so that that site no longer triggers the compiler bug. The random change or deoptimization changes. What I'm getting at is that it seems like we are adding permanent gunk to the code base that only temporarily fixes problems. I can't be sure that's what's happening, but it seems plausible. Anyway, I am fairly sure we are currently playing whack-a-mole. (a) How about building Windows with a newer version of MSVC, say 2012? (What version are we using now, anyway? The build instructions page says 2010 is official, but a tbpl log showed Visual Studio 9.0 on the path.) Maybe they have fixed bugs in PGO. (b) Failing that, how about not fixing PGO bugs unless they are reproducible, on a trial basis? If my lifecycle theory is correct, then the total crash rate would stay roughly constant. And I assume that if the crash rate doesn't actually go up, that's OK. If it does, and especially if that can be shown to be due to an increasing number due to outstanding PGO bugs, that would show that we do benefit from fixing them. Dave _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform