Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(656)

Unified Diff: swarm_client/tools/zip_profiler.py

Issue 69143004: Delete swarm_client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « swarm_client/tools/swarming_load_test_client.py ('k') | swarm_client/tools/zip_run_isolated.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: swarm_client/tools/zip_profiler.py
===================================================================
--- swarm_client/tools/zip_profiler.py (revision 235167)
+++ swarm_client/tools/zip_profiler.py (working copy)
@@ -1,123 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Profiler to compare various compression levels with regards to speed
-and final size when compressing the full set of files from a given
-isolated file.
-"""
-
-import bz2
-import optparse
-import os
-import shutil
-import subprocess
-import sys
-import tempfile
-import time
-import zlib
-
-ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-sys.path.insert(0, ROOT_DIR)
-
-from utils import tools
-
-
-def zip_file(compressor_constructor, compression_level, filename):
- compressed_size = 0
- compressor = compressor_constructor(compression_level)
- with open(filename, 'rb') as f:
- while True:
- chunk = f.read(16 * 1024)
- if not chunk:
- break
- compressed_size += len(compressor.compress(f.read()))
- compressed_size += len(compressor.flush())
-
- return compressed_size
-
-
-def zip_directory(compressor_constructor, compression_level, root_dir):
- compressed_size = 0
- for root, _, files in os.walk(root_dir):
- compressed_size += sum(zip_file(compressor_constructor, compression_level,
- os.path.join(root, name))
- for name in files)
- return compressed_size
-
-
-def profile_compress(zip_module_name, compressor_constructor,
- compression_range, compress_func, compress_target):
- for i in compression_range:
- start_time = time.time()
- compressed_size = compress_func(compressor_constructor, i, compress_target)
- end_time = time.time()
-
- print('%4s at compression level %s, total size %11d, time taken %6.3f' %
- (zip_module_name, i, compressed_size, end_time - start_time))
-
-
-def tree_files(root_dir):
- file_set = {}
- for root, _, files in os.walk(root_dir):
- for name in files:
- filename = os.path.join(root, name)
- file_set[filename] = os.stat(filename).st_size
-
- return file_set
-
-
-def main():
- tools.disable_buffering()
- parser = optparse.OptionParser()
- parser.add_option('-s', '--isolated', help='.isolated file to profile with.')
- parser.add_option('--largest_files', type='int',
- help='If this is set, instead of compressing all the '
- 'files, only the large n files will be compressed')
- options, args = parser.parse_args()
-
- if args:
- parser.error('Unknown args passed in; %s' % args)
- if not options.isolated:
- parser.error('The .isolated file must be given.')
-
- temp_dir = None
- try:
- temp_dir = tempfile.mkdtemp()
-
- # Create a directory of the required files
- subprocess.check_call([os.path.join(ROOT_DIR, 'isolate.py'),
- 'remap',
- '-s', options.isolated,
- '--outdir', temp_dir])
-
- file_set = tree_files(temp_dir)
-
- if options.largest_files:
- sorted_by_size = sorted(file_set.iteritems(), key=lambda x: x[1],
- reverse=True)
- files_to_compress = sorted_by_size[:options.largest_files]
-
- for filename, size in files_to_compress:
- print('Compressing %s, uncompressed size %d' % (filename, size))
-
- profile_compress('zlib', zlib.compressobj, range(10), zip_file,
- filename)
- profile_compress('bz2', bz2.BZ2Compressor, range(1, 10), zip_file,
- filename)
- else:
- print('Number of files: %s' % len(file_set))
- print('Total size: %s' % sum(file_set.itervalues()))
-
- # Profile!
- profile_compress('zlib', zlib.compressobj, range(10), zip_directory,
- temp_dir)
- profile_compress('bz2', bz2.BZ2Compressor, range(1, 10), zip_directory,
- temp_dir)
- finally:
- shutil.rmtree(temp_dir)
-
-
-if __name__ == '__main__':
- sys.exit(main())
« no previous file with comments | « swarm_client/tools/swarming_load_test_client.py ('k') | swarm_client/tools/zip_run_isolated.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698