[webkit-dev] Platform LayoutTests are out of control

Brent Fulgham bfulgham at gmail.com
Wed Apr 20 21:33:30 PDT 2011

As I sat tonight, waiting for my local repository to update (~1 hour and counting at this point), I had a bit of free time to contemplate the ever-growing size of the platform results of the layout test archive.  Over the last couple of years, the amount of time spent waiting for my local archive to sync with the main repository has grown considerably.  And no wonder, we have a great number of new ports and variants using WebKit, all with their own quirks and unique results.  It's wonderful diversity, and a great metric of how vibrant and enthusiastic a community we have.

But to be honest, I'm TIRED of the huge update times!

My initial knee-jerk reaction was to blame this on the multitude of Chromium layout archives (16 at last count).  Clearly this is needless bloat -- after all, what could possibly be the difference between "chromium-linux-x86_64" and "google-chrome-linux64".  Why are these even distinct entities? ;-)

But my initial bias was not fact-based.  While there are a great number of directories, they only weight in at 784 MB of data.

The bulk of the results is due to Apple's various ports (although limited to a relatively parsimonious 8 directories); they total a bit over 1 GB of data.

Gtk at Qt are downright tiny, at 366 MB and 229 MB (respectively).

All told we have over 2 GB of data that has to be downloaded to each developer's machine before they get the first line of compilable code.  Very few of us ever use more than a handful of these different platform results.

I have a crappy DSL connection, so it's slow.  Since I don't have metered bandwidth, the amount of data doesn't matter that much from a price standpoint, but it's quite annoying from a wasted time standpoint.  I also feel very bad for anyone trying to work on WebKit from behind a metered network connection.

Is there any way we can tame this explosive growth?  Could platform results be located in a separate archive, so that they don't have to be constantly synced across all platforms?




======= As of 4-20-2011 ======
android: 56 KB (12 files)
android-v8: 56 KB (20 files)
chromium: 7.25 MB (400 files)
chromium-gpu: 504 KB (78 files)
chromium-gpu-linux: 5.36 MB (313 files)
chromium-gpu-mac: 5.68 MB (251 files)
chromium-gpu-win: 6.98 MB (469 files)
chromium-linux: 274 MB (12,139 files)
chromium-linux-x86_64: 2.99 MB (155 files)
chromium-mac: 83.2 MB (2,582 files)
chromium-mac-leopard: 87.9 MB (2,391 files)
chromium-win: 293 MB (17,739 files)
chromium-win-vista: 1.19 MB (163 files)
chromium-win-xp: 2.12 MB (265 files)
google-chrome-linux32: 12.9 MB (523 files) 
google-chrome-linux64: 972 KB (56 files)

TOTAL:  784 MB (37,556 files)

gtk: 366 MB (17,396 files)

mac: 604 MB (20,686 files)
mac-leopard: 389 MB (10,169 files)
mac-snowleopard: 592 KB (103 files)
mac-tiger: 9.61 MB (311 files)
mac-wk2: 480 KB (86 files)
win: 15.9 MB (972 files)
win-wk2: 432 KB (89 files)
win-xp: 1.26 MB (111 files)

TOTAL: 1.02 GB (32,527 files)

qt: 229 MB (11,876 files)
qt-linux: 24.0 KB (8 files)
qt-mac: 16.0 KB (3 files)
qt-win: 16.0 KB (3 flles)
qt-wk2: 305 KB (3 files)

TOTAL: 229 MB (11,893 files)

More information about the webkit-dev mailing list