• Tamer Tas's avatar
    [testrunner] migrate testsuites to lazy loading · 8c30a2cc
    Tamer Tas authored
    V8 test suites return tests by loading them into memory up-front. Up-front
    loading has memory and loading-time overhead for the testrunner.
    
    This CL converts the test-suites to load tests during the test run in parallel.
    
    After CL, most test suites start running immediately and all test suites start
    running after 3 seconds on a modern SSD.
    
    This CL eliminates the 200 MiB memory spikes that causes memory problems in mac
    minis.
    
    Overhead of running test262 before CL:
    Line #    Mem usage     Increment   Line Contents
    =================================================
       264  225.760 MiB 195.8.000 MiB         tests = self._load_testsuite_generators(args, options)
    -------------------------------------------------
    Overhead of running test262 after CL:
    Line #    Mem usage    Increment   Line Contents
    ================================================
       264   28.840 MiB    0.000 MiB         tests = self._load_testsuite_generators(args, options)
    -------------------------------------------------
    
    R=machenbach@chromium.org
    CC=​​​yangguo@chromium.org,sergiyb@chromium.org
    
    Bug: v8:8174, v8:8552, v8:8728
    Change-Id: Iab540b9410239b05dc80b4a5228db25d8b8fb3b9
    Reviewed-on: https://chromium-review.googlesource.com/c/1454478
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
    Reviewed-by: 's avatarSergiy Belozorov <sergiyb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59408}
    8c30a2cc
Name
Last commit
Last update
..
fake_testsuite Loading commit data...
__init__.py Loading commit data...
android.py Loading commit data...
command.py Loading commit data...
pool.py Loading commit data...
pool_unittest.py Loading commit data...
statusfile.py Loading commit data...
statusfile_unittest.py Loading commit data...
testsuite.py Loading commit data...
testsuite_unittest.py Loading commit data...
utils.py Loading commit data...
variants.py Loading commit data...
verbose.py Loading commit data...