This series adds support for using jsonstreams, which is a package I wrote for writing JSON documents using a streaming API. The goal is to reduce the memory usage of piglit, especially while writing out the final result file.
This is a purely optional dependency, and those with fast machines with a lot of RAM might not care, but machines with memory constraints this should help a lot. I noticed that on my machine, writing out the final document requires about 4Gb of RAM without this series, and once the tests are finishes only goes up by a 1Mb or so while writing result.json without compression. Obviously compression will add additional overhead. jsonstreams is available throught pypi (the python package index) and can be installed through pip (pip install --user jsonstreams) and supports the same versions of python that piglit itself does (2.7, 3.3, 3.4, and 3.5 currently). Archlinux users can install packages from the aur called python-jsonstreams and python2-jsonstreams. Dylan Baker (6): Revert "piglit: Print help instead of excepting if no arguments are given" unittests: Fix shared data for backends. framework: Add support for jsonstreams tox: add a streams target. unittests: Fix JSON schema test to pass time_elapsed unittests: don't require totals section in schema .travis.yml | 8 +- appveyor.yml | 8 +- framework/backends/json.py | 111 ++++++++++----- piglit | 1 +- tox.ini | 6 +- unittests/framework/backends/schema/piglit-8.json | 2 +- unittests/framework/backends/shared.py | 7 +- unittests/framework/backends/test_json.py | 3 +- 8 files changed, 97 insertions(+), 49 deletions(-) -- git-series 0.8.10 _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
