July 18, 2018 D:YAML 0.7.0 | ||||
---|---|---|---|---|
| ||||
Since latest months a major work has been achieved, mostly by the member "Herringway". # New Features - completely usable in `@safe` code. - major performance gain when reading YAML files. - major performance gain when writing YAML files. - new outputrange-based document writer - Node.add now works with valueless nodes - added examples as subpackages - added a json conversion example - benchmark subpackage now prints detailed times # Removed Features - removes `dyaml.all`, `yaml` package modules # Fixes - fixes BOMs being written for UTF-8 documents https://github.com/dlang-community/D-YAML/releases/tag/v0.7.0 https://github.com/dlang-community/D-YAML https://code.dlang.org/packages/dyaml |
July 18, 2018 Re: D:YAML 0.7.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to baz@dlang-community | On Wednesday, 18 July 2018 at 07:28:02 UTC, baz@dlang-community wrote:
> - major performance gain when reading YAML files.
The little story:
YAML specifies that each associative-array-like data must be unique. The uniqueness before 0.7.0 was tested on insertion, leading to an obvious complexity issue. The trick used was to check only once at the end, i.e after reading a document and to throw in case uniqueness is not verified.
The problem was detected by a guy who tried to load a data file for the EVE online game. It took 30 minutes (and billions of dynamic cast when comparing already loaded content...). Now loading the file takes less than 30 secs.
For the win...
|
Copyright © 1999-2021 by the D Language Foundation