www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - ASDF v0.1.5-beta0: new parser is ~40% faster

reply Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
Hello,

About ASDF
-------------
ASDF [3] is a cache oriented string based JSON representation. 
Besides, it is a convenient Json Library for D that gets out of 
your way. ASDF is specially geared towards transforming high 
volumes of JSON dataframes, either to new JSON Objects or to 
custom data types.

Release Notes
--------------
v0.1.5-beta0 [2] release comes with the new parser that 
significantly improves performance.

Benchmarks
--------------
See also the benchmarks [1] against sajson, one of the fastest 
C++ JSON parser implementations.

Bug fixes
-------------
- Recursion failure [stack overflow] #65 [4]

Please help to test this pre-release!

ASDF is maintained by Tamedia Digital.

Best regards,
Ilya Yaroshenko

[1] 
https://github.com/tamediadigital/asdf/tree/master/benchmarks/sajson
[2] 
https://github.com/tamediadigital/asdf/releases/tag/v0.1.4-beta0
[3] https://github.com/tamediadigital/asdf
[4] https://github.com/tamediadigital/asdf/issues/65
Oct 01
next sibling parent Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko wrote:
 [2]
proper link is https://github.com/tamediadigital/asdf/releases/tag/v0.1.5-beta0
Oct 01
prev sibling next sibling parent Atila Neves <atila.neves gmail.com> writes:
On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko wrote:
 Hello,

 About ASDF
 -------------
 ASDF [3] is a cache oriented string based JSON representation. 
 Besides, it is a convenient Json Library for D that gets out of 
 your way. ASDF is specially geared towards transforming high 
 volumes of JSON dataframes, either to new JSON Objects or to 
 custom data types.

 [...]
Good work on those benchmarks! Atila
Oct 04
prev sibling parent reply Kagamin <spam here.lot> writes:
On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko wrote:
 [1] 
 https://github.com/tamediadigital/asdf/tree/master/benchmarks/sajson
AFAIK, ldc translates dmd's -O option to llvm's -O3.
Oct 04
parent reply Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
On Wednesday, 4 October 2017 at 12:11:54 UTC, Kagamin wrote:
 On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko 
 wrote:
 [1] 
 https://github.com/tamediadigital/asdf/tree/master/benchmarks/sajson
AFAIK, ldc translates dmd's -O option to llvm's -O3.
sajson loops are manually unrolled already. Very aggressive optimisation makes no sense and may unroll loops additionally and slowdown the program.
Oct 04
parent reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Wednesday, 4 October 2017 at 13:15:17 UTC, Ilya Yaroshenko 
wrote:
 On Wednesday, 4 October 2017 at 12:11:54 UTC, Kagamin wrote:
 On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko 
 wrote:
 [1] 
 https://github.com/tamediadigital/asdf/tree/master/benchmarks/sajson
AFAIK, ldc translates dmd's -O option to llvm's -O3.
sajson loops are manually unrolled already. Very aggressive optimisation makes no sense and may unroll loops additionally and slowdown the program.
Any reason clang++ is only -O2, not -O{3,s,z}?
Oct 04
parent reply Daniel =?UTF-8?B?S296w6Fr?= <kozzi11 gmail.com> writes:
On Wednesday, 4 October 2017 at 14:04:30 UTC, Nicholas Wilson 
wrote:
 On Wednesday, 4 October 2017 at 13:15:17 UTC, Ilya Yaroshenko 
 wrote:
 On Wednesday, 4 October 2017 at 12:11:54 UTC, Kagamin wrote:
 On Sunday, 1 October 2017 at 14:38:04 UTC, Ilya Yaroshenko 
 wrote:
 [1] 
 https://github.com/tamediadigital/asdf/tree/master/benchmarks/sajson
AFAIK, ldc translates dmd's -O option to llvm's -O3.
sajson loops are manually unrolled already. Very aggressive optimisation makes no sense and may unroll loops additionally and slowdown the program.
Any reason clang++ is only -O2, not -O{3,s,z}?
sajson loops are manually unrolled already. Very aggressive optimisation makes no sense and may unroll loops additionally and slowdown the program
Oct 04
parent drug <drug2004 bk.ru> writes:
04.10.2017 17:19, Daniel Kozák пишет:
 sajson loops are manually unrolled already. Very aggressive
 optimisation makes no sense and may unroll loops additionally
 and slowdown the program
 
https://github.com/tamediadigital/asdf/pull/79
Oct 04