www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D:YAML 0.7.0

reply baz dlang-community <b2.temp gmx.com> writes:
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

Jul 18
parent baz dlang-community <b2.temp gmx.com> writes:
On Wednesday, 18 July 2018 at 07:28:02 UTC, baz dlang-community 
 - 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...
Jul 18