Thread overview
ASDF v0.1.5-beta0: new parser is ~40% faster
Oct 01, 2017
Ilya Yaroshenko
Oct 01, 2017
Ilya Yaroshenko
Oct 04, 2017
Atila Neves
Oct 04, 2017
Kagamin
Oct 04, 2017
Ilya Yaroshenko
Oct 04, 2017
Nicholas Wilson
Oct 04, 2017
Daniel Kozák
Oct 04, 2017
drug
October 01, 2017
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

October 01, 2017
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
October 04, 2017
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
October 04, 2017
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.
October 04, 2017
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.
October 04, 2017
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}?
October 04, 2017
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

October 04, 2017
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