spack/lib/spack
Todd Gamblin 41b8f31bcd Use JSON for the database instead of YAML. (#2189)
* Use JSON for the database instead of YAML.

- JSON is much faster than YAML *and* can preserve ordered keys.
  - 170x+ faster than Python YAML when using unordered dicts
  - 55x faster than Python YAML (both using OrderedDicts)
  - 8x faster than C YAML (with OrderedDicts)

- JSON is built into Python, unlike C YAML, so doesn't add a dependency.
- Don't need human readability for the package database.
- JSON requires no major changes to the code -- same object model as YAML.
- add to_json, from_json methods to spec.

* Add tests to ensure JSON and YAML don't need to be ordered in DB.

* Write index.json first time it's not found instead of requiring reindex.

* flake8 bug.
2016-12-05 10:03:58 -08:00
..
docs Update tutorial_sc16_packaging.rst (#2450) 2016-12-01 11:53:18 -06:00
env Allow compiler wrapper to modify environment (#2275) 2016-11-09 08:00:34 -08:00
external Update external distro package to 1.0.1 (#2381) 2016-11-22 14:01:01 -08:00
llnl Improve stacktrace printing 2016-11-17 12:51:41 -05:00
spack Use JSON for the database instead of YAML. (#2189) 2016-12-05 10:03:58 -08:00