#1 2020-07-11 18:19:07

mpv
Member
From: Ukraine
Registered: 2012-03-24
Posts: 1,564
Website

TSQLTableJSON.Create using PrivateCopyChanged

@ab - in commit https://synopse.info/fossil/info/74003c3fdf8dcff7 about fixing GPF in TSQLTableJSON there is a performance impact (at last in my case, but I think I'm not alone).
In my program I avoid to change content of TSQLTableJSON - in 100% cases I create class using constructor TSQLTableJSON.Create(const aSQL, aJSON: RawUTF8) use it and destroy. So calculating a crc32c on every create is a overhead... On hi load production I did more when 1000 TSQLTableJSON.Create / sec.
Can GPF fix be changed a little to avoid crc32 overhead?

BTW - on which operating system you found this GPF?

Offline

#2 2020-07-11 19:52:02

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,376
Website

Re: TSQLTableJSON.Create using PrivateCopyChanged

On Delphi and Windows mostly.
It was failing at copying +16 bytes.

Offline

#3 2020-07-13 07:15:14

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,376
Website

Re: TSQLTableJSON.Create using PrivateCopyChanged

Please check https://synopse.info/fossil/info/7e1a666c3b
about  TSQLTableJSON performance optimization for single JSON use.

Offline

#4 2020-07-13 08:19:36

mpv
Member
From: Ukraine
Registered: 2012-03-24
Posts: 1,564
Website

Re: TSQLTableJSON.Create using PrivateCopyChanged

Thanks!

Offline

Board footer

Powered by FluxBB