Thread overview
ASDF v0.1.5-beta0: new parser is ~40% faster
Oct 04
Kagamin
Oct 04
drug
October 01
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
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
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
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
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
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
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
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