#1 2010-12-15 13:10:07

blestan
Member
Registered: 2010-12-14
Posts: 3

Cannot use SYNLZ and SYNLZO under FPC

both compile ok under  FPC 2.4.3 after removing all "asm"  stuff,
but gives runtime errors during decompression ... any idea?

Offline

#2 2010-12-15 15:32:20

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

Re: Cannot use SYNLZ and SYNLZO under FPC

What are you calling all "asm" stuff?
You can use x86 BASM in Delphi mode, as far as I remember.

Please turn range checking and overflow checking off.

I definitively need to check all our source code against FPC specific expectations.

Offline

#3 2010-12-16 09:45:24

blestan
Member
Registered: 2010-12-14
Posts: 3

Re: Cannot use SYNLZ and SYNLZO under FPC

Hi!
thanks for the reply ... i will test it asap.
but the hole idea about fpc is not to use any asm because the code must be compiling not only on x86 ...
i dropped delphi as compiler 4 years ago and i'm pretty happy with fpc + lazarus just because it runs on any (major) platform
i'm building a object notation framework and i plan to use your code to compress the buffers before sending over the wire, so server and clients can be any device.

Offline

#4 2010-12-16 10:37:11

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

Re: Cannot use SYNLZ and SYNLZO under FPC

OK. So using no asm does make sense!

The pascal version is indeed very fast, at least with the Delphi compiler. It's in all cases much faster than the zip algorithm implemented in pascal.

Which can of framework are you planing to do?
Take a look at our ORM, which uses JSON for client/server communication and object serialization.

Offline

#5 2010-12-16 10:50:18

blestan
Member
Registered: 2010-12-14
Posts: 3

Re: Cannot use SYNLZ and SYNLZO under FPC

fpc speed is comparable to gcc....
my object notation is very simple and fast ... it's a binary one. it's much like bson
it's several times more compact than xml and json, more powerfull than bson and far more fast to transverse/parse.
all strings have a length prefix (1..4 bytes depending on str len ) and are not read during parsing ... they are only read when needed.
integers are also stored in a compact format - 1..8 bytes

it's not object oriented - you do not have to declare complex classes to use it ... but TPersitent serialization can be done very easy

Offline

#6 2010-12-16 13:20:44

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

Re: Cannot use SYNLZ and SYNLZO under FPC

blestan wrote:

fpc speed is comparable to gcc...

Not with a 64 bit CPU, at least! wink

Offline

Board footer

Powered by FluxBB