bisect-builds.py on Windows could use 7zip to make downloading 2.5+ times faster
Reported by
woxxom@gmail.com,
Dec 23 2016
|
||||||
Issue descriptionThis is a suggestion for chromium developers that I've implemented locally for myself and decided to share the idea which could benefit other developers if adopted officially. * chromium's bisect-builds.py [1] is used to bisect bugs/regressions. * quite often the download phase is VERY slow due to increased load on googleapis.com servers thus it takes a few minutes instead of a few seconds to download a revision. * hence the improvement: bisect-builds.py could use 7zip-packed mini-installer.exe from the snapshot directory [2] to download 2.5-3 times less data: ~40MB instead of 100-120MB. My local implementation simply invokes 7z two times: class PathContext(object): def __init__(self, base_url, platform, good_revision, bad_revision, #............................................ elif self.platform in ('win', 'win64'): self.archive_name = 'mini_installer.exe' self._archive_extract_dir = 'Chrome-bin' #........................................... def UnzipFilenameToDir(filename, directory): #........................................... os.system('7z x "{0}" "-o{1}" 1>nul'.format(filename, directory) + ' & 7z x Chrome.7z 1>nul' + ' & del Chrome.7z') A proper implementation should check whether 7z.exe is available, of course. [1]: https://chromium.googlesource.com/chromium/src/+/master/tools/bisect-builds.py [2]: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/435372/
,
Dec 27 2016
,
Jan 3 2017
Aaron, any thoughts on this, or know who i should send it to?
,
Jan 3 2017
I think dimu@ is the closest bisect-builds has to an owner. We obviously should not rely on 7z being installed (this should be an optional optimization if it happens to exist), and we obviously should not use os.system (we use subprocess.call()). But other than that, the idea is sound.
,
Jan 16 2017
,
Jan 17 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 Deleted