Ferdinand Majerech
c787531497
Node struct enlarged to 40 bytes. There is no significant
...
slowdown and a slight memory usage increase. Fixed a potential
bug in Reader. Tag is now implemented as a zero-terminated
string, removing the need for global state.
Node opIndex now returns a reference.
2011-10-26 21:05:56 +02:00
Ferdinand Majerech
97693b4417
Got rid of most UTF-8 decoding that took a lot of time.
...
Removed unnecessary calls to Stream.available(),
again for grat speed gain. Also various small optimizations.
Overall, improved loading speed about 400%.
2011-10-24 00:46:35 +02:00
Ferdinand Majerech
9d68b6fa9a
Optimized GC performance when loading,
...
greatly decreasing memory usage and
improving speed by 30% or more.
2011-10-23 20:17:37 +02:00
Ferdinand Majerech
13ea5f0c24
Added a shortcut alias called "as" for Node.get(), and replaced
...
get() with as() all over the code, tutorials, examples and docs.
Fixed a bug in YAML benchmark makefile.
Fixed a bug in autoddoc configuration.
2011-10-22 17:06:32 +02:00
Ferdinand Majerech
7402d8f827
Fixed Makefile of the yaml_stats example.
...
Fixed a bug in Node that caused an empty exception message.
2011-10-21 20:40:37 +02:00
Ferdinand Majerech
33a376b038
String representation of a Node's tag can now be accessed by the
...
user.
2011-10-20 15:48:21 +02:00
Ferdinand Majerech
8ad650e089
Cleaned up exceptions and their messages.
...
Some minor dog fixes.
2011-10-18 16:12:22 +02:00
Ferdinand Majerech
009017eef0
Simplified the Constructor and Resolver example -
...
no need for range checks as they are handled in Node itself.
2011-10-17 13:13:02 +02:00
Ferdinand Majerech
548480b06b
Changed the Constructor API (for loading of custom types) to
...
make it easier to load custom classes/structs. Updated API docs,
tutorials and examples accordingly.
2011-10-17 12:53:38 +02:00
Ferdinand Majerech
23290239a7
There should be no problem constructing new instances of Tag,
...
Anchor and TagDirectives in separate threads anymore. D:YAML
still is not thread safe itself, though (it's the user's
responsibility to handle synchronization when working with a
single node from two threads, for example).
2011-10-14 19:54:41 +02:00
Ferdinand Majerech
765b74ffca
Updated the API documentation.
...
Updated examples based on the new Loader API.
(Dumper API still needs examples)
2011-10-14 10:34:53 +02:00
Ferdinand Majerech
8360da733d
All YAML exceptions now keep track of file and line they've been
...
thrown at, making debugging easier.
2011-10-13 11:30:14 +02:00
Ferdinand Majerech
934df763ad
Most of emitter work done. There are some more changes left until 0.2,
...
and the turorials and documentation still need some updating.
2011-10-11 15:58:23 +02:00
Ferdinand Majerech
967fe8c48b
Added various node manipulation functions so e.g. new elements
...
can be added to collections before emitting. The code is
somewhat ugly, might be revised later.
2011-08-21 23:53:19 +02:00
Ferdinand Majerech
b0f2ce201a
Added Node constructors needed to create new nodes to emit.
2011-08-21 03:56:21 +02:00
Ferdinand Majerech
dde7d2f64f
Node equality test now takes tag into account, as the
...
specification requires.
2011-08-20 22:38:32 +02:00
Ferdinand Majerech
7192503fe6
Implemented a Tag struct taking as little memory as possible.
...
Removed endMark from Node to keep it in 32 bytes on 64bit.
This will result in slightly worse debugging messages, but we
still have the start position of a node.
Tag is needed for better compliance with the spec and emitting
support for multiple tags with the same D data type.
2011-08-20 22:15:20 +02:00
Ferdinand Majerech
283c42bf8f
Initial commit.
2011-08-16 14:53:13 +02:00