Skip to content

Instantly share code, notes, and snippets.

@synopse
Created June 24, 2025 08:29
Show Gist options
  • Select an option

  • Save synopse/a43b0ec86edd995fc7de346ab8862fc5 to your computer and use it in GitHub Desktop.

Select an option

Save synopse/a43b0ec86edd995fc7de346ab8862fc5 to your computer and use it in GitHub Desktop.
Tests with FPC 3.2.4 RC1 version
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- Records: 893 assertions passed 82us
- TSynList: 3,007 assertions passed 8us
- TDynArray: 2,286,563 assertions passed 103.40ms
- TSynQueue: 7,108,296 assertions passed 135.77ms
- TSynNameValue: 52,974 assertions passed 4.38ms
- TRawUtf8Interning: 2,728,848 assertions passed 70.33ms
500000 interning 16 KB in 11.89ms i.e. 40M/s, aver. 23ns, 1.2 GB/s
500000 direct 15.2 MB in 6.57ms i.e. 72.4M/s, aver. 13ns, 2.2 GB/s
- TObjArray: 4,792 assertions passed 369us
- Custom RTL: 1,803,852 assertions passed 342.43ms
FillCharFast [] in 7.78ms, 49.9 GB/s
MoveFast [] in 71.34ms, 4.3 GB/s
small MoveFast [] in 16.13ms, 6.7 GB/s
big MoveFast [] in 33.06ms, 11.8 GB/s
FillCharFast [cpuAVX] in 7.28ms, 53.3 GB/s
MoveFast [cpuAVX] in 72.82ms, 4.2 GB/s
small MoveFast [cpuAVX] in 15.10ms, 7.2 GB/s
big MoveFast [cpuAVX] in 22.96ms, 17 GB/s
- Fast string compare: 111 assertions passed 5us
- IdemPropName: 228 assertions passed 40us
- GUID: 12,550 assertions passed 1.49ms
- ParseCommandArgs: 380 assertions passed 21us
- TExecutableCommandLine: 47 assertions passed 30us
- IsMatch: 4,277 assertions passed 53us
- TExprParserMatch: 170 assertions passed 27us
- Soundex: 35 assertions passed 4us
- Numerical conversions: 2,626,457 assertions passed 121.59ms
100000 FloatToText in 23.80ms i.e. 4M/s, aver. 238ns, 76.1 MB/s
100000 str in 12.20ms i.e. 7.8M/s, aver. 122ns, 187.5 MB/s
100000 DoubleToShort in 4.98ms i.e. 19.1M/s, aver. 49ns, 401.8 MB/s
100000 DoubleToAscii in 5.12ms i.e. 18.6M/s, aver. 51ns, 394.9 MB/s
- Integers: 33,775,251 assertions passed 66.60ms
- crc32c: 350,118 assertions passed 55.68ms
pas:578MB/s inl:581.9MB/s fast:3GB/s sse42:17.8GB/s aesni:28.2GB/s
- Random32: 220,036 assertions passed 1.92ms
240000 Random32 in 1.70ms i.e. 134.6M/s, aver. 7ns, 538.5 MB/s
RandomBytes in 148us, 2.5 GB/s
- Bloom filters: 2,010,072 assertions passed 51.52ms
- DeltaCompress: 3,089 assertions passed 8.73ms
- Curr 64: 20,056 assertions passed 512us
- CamelCase: 59 assertions passed 6us
- Bits: 47,677 assertions passed 13.54ms
- Ini files: 7,028 assertions passed 17.12ms
- Charsets: 255 assertions passed 868us
- Url decoding: 1,503 assertions passed 50us
- Mime types: 673 assertions passed 510us
- Baudot code: 10,007 assertions passed 19.41ms
- Iso 8601 date and time: 200,853 assertions passed 2.81ms
- Dmi smbios: 47 assertions passed 136us
- SID: 622 assertions passed 29us
- SDDL: 1,069 assertions passed 339us
- Quick select: 4,015 assertions passed 58.74ms
- TSynCache: 408 assertions passed 53us
- TSynFilter: 2,010 assertions passed 972us
- TSynValidate: 879 assertions passed 323us
- TSynLogFile: 66 assertions passed 12us
- TSynUniqueIdentifier: 1,700,014 assertions passed 102.25ms
100000 ComputeNew in 859us i.e. 111M/s, aver. 8ns
Total failed: 0 / 54,989,518 - Core base PASSED 1.18s
1.2. Core process:
- RTTI: 1,467 assertions passed 236us
- Data structures: 13,964,844 assertions passed 49.51ms
- Url encoding: 2,902 assertions passed 907us
- Encode decode JSON: 527,151 assertions passed 35.11ms
- JSON benchmark: 100,580 assertions passed 608.82ms
StrLen() in 460us, 41.6 GB/s
IsValidUtf8(RawUtf8) in 836us, 22.9 GB/s
IsValidUtf8(PUtf8Char) in 1.19ms, 16 GB/s
IsValidUtf8Pas(RawUtf8) in 5.68ms, 3.3 GB/s
IsValidJson(RawUtf8) in 12.06ms, 1.5 GB/s
IsValidJson(PUtf8Char) in 11.85ms, 1.6 GB/s
JsonArrayCount(P) in 11.80ms i.e. 13.2M/s, 1.6 GB/s
JsonArrayCount(P,PMax) in 11.81ms i.e. 13.2M/s, 1.6 GB/s
JsonObjectPropCount() in 6.67ms, 1.6 GB/s
jsonUnquotedPropNameCompact in 25.26ms, 688.9 MB/s
jsonHumanReadable in 27.99ms, 890.9 MB/s
TDocVariant in 67.85ms i.e. 2.3M/s, 288.9 MB/s
TDocVariant no guess in 60.89ms i.e. 2.5M/s, 321.9 MB/s
TDocVariant dvoIntern in 68.43ms i.e. 2.2M/s, 286.4 MB/s
TOrmTableJson save in 10.46ms i.e. 14.9M/s, 823.7 MB/s
TOrmTableJson exp in 16.26ms i.e. 9.6M/s, 1.1 GB/s
TOrmTableJson not exp in 8.88ms i.e. 17.6M/s, 0.9 GB/s
TDocVariant FromResults exp in 29.65ms i.e. 5.2M/s, 661 MB/s
TDocVariant FromResults not exp in 23.89ms i.e. 6.5M/s, 360.8 MB/s
DynArrayLoadJson exp no guess in 31.42ms i.e. 4.9M/s, 623.8 MB/s
DynArrayLoadJson exp guess in 32.29ms i.e. 4.8M/s, 607 MB/s
DynArrayLoadJson non exp in 22.28ms i.e. 7M/s, 386.9 MB/s
TOrmPeopleObjArray exp in 41.49ms i.e. 3.7M/s, 472.5 MB/s
TOrmPeopleObjArray non exp in 27.13ms i.e. 5.7M/s, 317.7 MB/s
fpjson in 40.52ms i.e. 396.5K/s, 48.3 MB/s
- Wiki markdown to html: 56 assertions passed 20us
- Variants: 167 assertions passed 25us
- Mustache renderer: 186 assertions passed 469us
- TDocVariant: 92,129 assertions passed 346.29ms
- IDocAny: 529 assertions passed 171us
- TBcd: 37,845 assertions passed 1.11ms
- TDecimal128: 17,446 assertions passed 568us
- BSON: 245,073 assertions passed 1.50ms
100000 TBsonObjectID.ComputeNew in 1.31ms i.e. 72.7M/s, aver. 13ns
- TSelectStatement: 237 assertions passed 38us
- TSynMonitorUsage: 1,202 assertions passed 23us
- Folders: 27,141 assertions passed 17.78ms
Total failed: 0 / 15,018,955 - Core process PASSED 1.06s
1.3. Core crypto:
- MD5: 333 assertions passed 189us
- SHA1: 16 assertions passed 1.78ms
- SHA256: 72 assertions passed 15.52ms
- SHA512: 70 assertions passed 22.73ms
- SHA3: 16,458 assertions passed 27.98ms
- AES: 73,147 assertions passed 194.08ms
cypher with AES-NI: 29us, without: 479us
- AES_GCM: 268 assertions passed 21us
- RC4: 1,016 assertions passed 917us
- Hashes: 277 assertions passed 180.59ms
- RSA: 1,307,434 assertions passed 231.14ms
10 RS256 sign in 53.83ms i.e. 185/s, aver. 5.38ms
100 RS256 verify in 9.87ms i.e. 9.8K/s, aver. 98.79us
10 PS256 sign in 52.55ms i.e. 190/s, aver. 5.25ms
100 PS256 verify in 9.45ms i.e. 10.3K/s, aver. 94.58us
- X509: 22,393 assertions passed 9.71ms
10000 x509-pki Load+IsValid in 2.20ms i.e. 4.3M/s, aver. 220ns
- Streams: 425,013 assertions passed 9.53ms
- Base encoding: 39,755 assertions passed 132.37ms
base64 encoding avx2 in 45.60ms, 21.4 GB/s
base64 decoding avx2 in 56.95ms, 17.1 GB/s
- PRNG: 362,642 assertions passed 99.57ms
100000 mORMot Random32 in 1.39ms i.e. 68.5M/s, aver. 13ns, 274.2 MB/s
mORMot FillRandom in 15us, 6.2 GB/s
100000 OpenSSL Random32 in 49.03ms i.e. 1.9M/s, aver. 490ns, 7.7 MB/s
OpenSSL FillRandom in 13us, 7.1 GB/s
100000 Lecuyer Random32 in 738us i.e. 129.2M/s, aver. 7ns, 516.9 MB/s
Lecuyer RandomBytes in 47us, 1.9 GB/s
- CryptDataForCurrentUser: 5,003 assertions passed 1.87ms
2000 AES-CFB in 1.82ms i.e. 1M/s, aver. 910ns, 572.9 MB/s
- CryptDataWithSecret: 253 assertions passed 34.25ms
100 PBKDF2-SHAKE128 in 33.57ms i.e. 2.9K/s, aver. 335.74us, 71.2 KB/s
- JWT: 237,220 assertions passed 438.78ms
1000 mORMot HS256 in 419us i.e. 2.2M/s, aver. 419ns
1000 mORMot HS384 in 821us i.e. 1.1M/s, aver. 821ns
1000 mORMot HS512 in 829us i.e. 1.1M/s, aver. 829ns
1000 mORMot S3224 in 569us i.e. 1.6M/s, aver. 569ns
1000 mORMot S3256 in 568us i.e. 1.6M/s, aver. 568ns
1000 mORMot S3384 in 571us i.e. 1.6M/s, aver. 571ns
1000 mORMot S3512 in 583us i.e. 1.6M/s, aver. 583ns
1000 mORMot S3S128 in 578us i.e. 1.6M/s, aver. 578ns
1000 mORMot S3S256 in 586us i.e. 1.6M/s, aver. 586ns
100 mORMot ES256 in 5.14ms i.e. 18.9K/s, aver. 51.43us
100 mORMot RS256 in 12.44ms i.e. 7.8K/s, aver. 124.47us
100 mORMot RS384 in 9.66ms i.e. 10.1K/s, aver. 96.60us
100 mORMot RS512 in 10.14ms i.e. 9.6K/s, aver. 101.49us
100 mORMot PS256 in 9.90ms i.e. 9.8K/s, aver. 99.07us
100 mORMot PS384 in 9.67ms i.e. 10K/s, aver. 96.78us
100 mORMot PS512 in 9.56ms i.e. 10.2K/s, aver. 95.63us
100 TJwtCrypt ES256 in 5.03ms i.e. 19.4K/s, aver. 50.31us
100 TJwtCrypt ES384 in 42.94ms i.e. 2.2K/s, aver. 429.44us
100 TJwtCrypt ES512 in 32.91ms i.e. 2.9K/s, aver. 329.18us
100 TJwtCrypt ES256K in 23.20ms i.e. 4.2K/s, aver. 232.03us
100 TJwtCrypt RS256 in 1.50ms i.e. 64.7K/s, aver. 15.08us
100 TJwtCrypt RS384 in 1.53ms i.e. 63.7K/s, aver. 15.31us
100 TJwtCrypt RS512 in 1.54ms i.e. 63.2K/s, aver. 15.43us
100 TJwtCrypt PS256 in 1.51ms i.e. 64.3K/s, aver. 15.18us
100 TJwtCrypt PS384 in 1.52ms i.e. 64.1K/s, aver. 15.22us
100 TJwtCrypt PS512 in 1.54ms i.e. 63.2K/s, aver. 15.45us
100 TJwtCrypt EdDSA in 7.11ms i.e. 13.7K/s, aver. 71.19us
100 OpenSSL ES256 in 5.39ms i.e. 18.1K/s, aver. 53.91us
100 OpenSSL ES384 in 43.32ms i.e. 2.2K/s, aver. 433.25us
100 OpenSSL ES512 in 32.50ms i.e. 3K/s, aver. 325us
100 OpenSSL ES256K in 23.50ms i.e. 4.1K/s, aver. 235.08us
100 OpenSSL RS256 in 1.73ms i.e. 56.1K/s, aver. 17.38us
100 OpenSSL RS384 in 1.75ms i.e. 55.6K/s, aver. 17.54us
100 OpenSSL RS512 in 1.76ms i.e. 55.4K/s, aver. 17.62us
100 OpenSSL PS256 in 1.75ms i.e. 55.6K/s, aver. 17.55us
100 OpenSSL PS384 in 1.73ms i.e. 56.2K/s, aver. 17.36us
100 OpenSSL PS512 in 1.76ms i.e. 55.4K/s, aver. 17.62us
100 OpenSSL EdDSA in 7.32ms i.e. 13.3K/s, aver. 73.28us
- TBinaryCookieGenerator: 92,159 assertions passed 6.65ms
16384 generate in 1.85ms i.e. 8.4M/s, aver. 113ns
16384 validate in 1.56ms i.e. 9.9M/s, aver. 95ns
- Pkcs 11: 1,251 assertions passed 9us
- Digest: 25,611 assertions passed 11.76ms
- Catalog:
rnd-default rnd-aes rnd-lecuyer rnd-entropy rnd-entropysys
rnd-entropysysblocking rnd-entropyuser rnd-system rnd-systemblocking
rnd-openssl md5 sha1 sha256 sha384 sha512 sha3_256 sha3_512 sha224 crc32
crc32c xxhash32 adler32 fnv32 default32 md5-32 sha1-32 sha256-32
hmac-sha1 hmac-sha256 hmac-sha384 hmac-sha512 sha3-224 sha3-256 sha3-384
sha3-512 sha3-s128 sha3-s256 aes-128-ecb aes-128-ecb-int aes-192-ecb
aes-192-ecb-int aes-256-ecb aes-256-ecb-int aes-128-cbc aes-128-cbc-int
aes-192-cbc aes-192-cbc-int aes-256-cbc aes-256-cbc-int aes-128-cfb
aes-128-cfb-int aes-192-cfb aes-192-cfb-int aes-256-cfb aes-256-cfb-int
aes-128-ofb aes-128-ofb-int aes-192-ofb aes-192-ofb-int aes-256-ofb
aes-256-ofb-int aes-128-c64 aes-192-c64 aes-256-c64 aes-128-ctr
aes-128-ctr-int aes-192-ctr aes-192-ctr-int aes-256-ctr aes-256-ctr-int
aes-128-cfc aes-192-cfc aes-256-cfc aes-128-ofc aes-192-ofc aes-256-ofc
aes-128-ctc aes-192-ctc aes-256-ctc aes-128-gcm aes-128-gcm-int
aes-192-gcm aes-192-gcm-int aes-256-gcm aes-256-gcm-int es256 secp256r1
nistp-256 prime256v1 rs256 rs256-int rs384 rs512 ps256 ps256-int ps384
ps512 es384 es512 es256k eddsa syn-es256-v1 syn-es256 x509-rs256-int
x509-ps256-int x509-es256-int x509-rs256 x509-rs384 x509-rs512
x509-ps256 x509-ps384 x509-ps512 x509-es256 x509-es384 x509-es512
x509-es256k x509-eddsa x509-es384-int x509-es512-int x509-eddsa-int
syn-store syn-store-nocache x509-pki x509-store waiting for 8 threads:
819.72ms
9,161 assertions passed 1.20s
- Benchmark: 115,000 assertions passed 202.74ms
2500 crc32c in 174us i.e. 13.7M/s or 29.8 GB/s
2500 xxhash32 in 630us i.e. 3.7M/s or 8.2 GB/s
2500 crc32 in 169us i.e. 14.1M/s or 30.7 GB/s
2500 adler32 in 164us i.e. 14.5M/s or 31.6 GB/s
2500 hash32 in 367us i.e. 6.5M/s or 14.1 GB/s
2500 aesnihash in 102us i.e. 23.3M/s or 50.9 GB/s
2500 md4 in 5.78ms i.e. 421.8K/s or 0.9 GB/s
2500 md5 in 6.41ms i.e. 380.7K/s or 829.7 MB/s
2500 sha1 in 2.39ms i.e. 1M/s or 2.1 GB/s
2500 hmacsha1 in 2.66ms i.e. 0.8M/s or 1.9 GB/s
2500 sha256 in 2.72ms i.e. 894.9K/s or 1.9 GB/s
2500 hmacsha256 in 2.97ms i.e. 819.5K/s or 1.7 GB/s
2500 sha384 in 7.85ms i.e. 310.6K/s or 677 MB/s
2500 hmacsha384 in 9.49ms i.e. 257.1K/s or 560.4 MB/s
2500 sha512 in 7.85ms i.e. 310.9K/s or 677.6 MB/s
2500 sha512_256 in 7.86ms i.e. 310.6K/s or 676.9 MB/s
2500 hmacsha512 in 9.54ms i.e. 255.7K/s or 557.4 MB/s
2500 sha3_256 in 11.96ms i.e. 203.9K/s or 444.5 MB/s
2500 sha3_512 in 21.53ms i.e. 113.3K/s or 247 MB/s
2500 rc4 in 10.26ms i.e. 237.9K/s or 518.5 MB/s
2500 mormot aes-128-cfb in 2.80ms i.e. 870.3K/s or 1.8 GB/s
2500 mormot aes-128-ofb in 2.78ms i.e. 877.8K/s or 1.8 GB/s
2500 mormot aes-128-c64 in 4.08ms i.e. 597.5K/s or 1.2 GB/s
2500 mormot aes-128-ctr in 626us i.e. 3.8M/s or 8.3 GB/s
2500 mormot aes-128-cfc in 2.94ms i.e. 829.5K/s or 1.7 GB/s
2500 mormot aes-128-ofc in 3.31ms i.e. 737.3K/s or 1.5 GB/s
2500 mormot aes-128-ctc in 1.01ms i.e. 2.3M/s or 5.1 GB/s
2500 mormot aes-128-gcm in 1.10ms i.e. 2.1M/s or 4.7 GB/s
2500 mormot aes-256-cfb in 3.71ms i.e. 658K/s or 1.4 GB/s
2500 mormot aes-256-ofb in 3.72ms i.e. 655.5K/s or 1.4 GB/s
2500 mormot aes-256-c64 in 5ms i.e. 487.7K/s or 1 GB/s
2500 mormot aes-256-ctr in 753us i.e. 3.1M/s or 6.9 GB/s
2500 mormot aes-256-cfc in 3.87ms i.e. 630.5K/s or 1.3 GB/s
2500 mormot aes-256-ofc in 4.21ms i.e. 578.9K/s or 1.2 GB/s
2500 mormot aes-256-ctc in 1.17ms i.e. 2M/s or 4.4 GB/s
2500 mormot aes-256-gcm in 1.25ms i.e. 1.9M/s or 4.1 GB/s
2500 openssl aes-128-cfb in 5.27ms i.e. 463.1K/s or 0.9 GB/s
2500 openssl aes-128-ofb in 3.72ms i.e. 655.9K/s or 1.4 GB/s
2500 openssl aes-128-ctr in 1.24ms i.e. 1.9M/s or 4.1 GB/s
2500 openssl aes-128-gcm in 2.90ms i.e. 841.5K/s or 1.7 GB/s
2500 openssl aes-256-cfb in 6.18ms i.e. 394.4K/s or 859.6 MB/s
2500 openssl aes-256-ofb in 4.62ms i.e. 528.1K/s or 1.1 GB/s
2500 openssl aes-256-ctr in 1.37ms i.e. 1.7M/s or 3.7 GB/s
2500 openssl aes-256-gcm in 2.98ms i.e. 817.6K/s or 1.7 GB/s
2500 shake128 in 9.63ms i.e. 253.3K/s or 552.1 MB/s
2500 shake256 in 11.29ms i.e. 216.1K/s or 471.1 MB/s
Total failed: 0 / 2,734,552 - Core crypto PASSED 2.82s
1.4. Core ecc:
- Reference vectors: 25 assertions passed 1.29ms
- ECC: 3,607 assertions passed 166.84ms
300 Ecc256r1MakeKey in 3.32ms i.e. 88.2K/s, aver. 11.06us
300 Ecc256r1Uncompress in 3.04ms i.e. 96.1K/s, aver. 10.16us
300 Ecc256r1Sign in 5.08ms i.e. 57.6K/s, aver. 16.93us
300 Ecc256r1Verify in 18.15ms i.e. 16.1K/s, aver. 60.52us
300 Ecc256r1VerifyUncomp in 26.93ms i.e. 10.8K/s, aver. 89.79us
598 Ecc256r1SharedSecret in 29.58ms i.e. 19.7K/s, aver. 49.47us
602 EciesSeal+EciesOpen in 33.57ms i.e. 17.5K/s, aver. 55.76us
- Certificates and signatures: 107 assertions passed 3.29ms
- Ecc command line tool: 733 assertions passed 38.40ms
- ECDHE stream protocol: 63,399 assertions passed 228.32ms
100 efAesCrc128 in 852us i.e. 114.6K/s, aver. 8.52us, 2.9 GB/s
100 efAesCfb128 in 820us i.e. 119K/s, aver. 8.20us, 3 GB/s
100 efAesOfb128 in 1.31ms i.e. 74.2K/s, aver. 13.15us, 1.8 GB/s
100 efAesCtr128 in 359us i.e. 272K/s, aver. 3.59us, 6.9 GB/s
100 efAesCbc128 in 1.36ms i.e. 71.6K/s, aver. 13.63us, 1.8 GB/s
100 efAesCrc256 in 1.05ms i.e. 92.4K/s, aver. 10.56us, 2.3 GB/s
100 efAesCfb256 in 1.05ms i.e. 92.3K/s, aver. 10.57us, 2.3 GB/s
100 efAesOfb256 in 1.73ms i.e. 56.1K/s, aver. 17.39us, 1.4 GB/s
100 efAesCtr256 in 436us i.e. 223.9K/s, aver. 4.36us, 5.7 GB/s
100 efAesCbc256 in 1.66ms i.e. 58.7K/s, aver. 16.61us, 1.5 GB/s
100 efAesGcm128 in 422us i.e. 231.4K/s, aver. 4.22us, 5.9 GB/s
100 efAesGcm256 in 486us i.e. 200.9K/s, aver. 4.86us, 5.1 GB/s
100 efAesCtc128 in 396us i.e. 246.6K/s, aver. 3.96us, 6.2 GB/s
100 efAesCtc256 in 463us i.e. 210.9K/s, aver. 4.63us, 5.3 GB/s
- OpenSSL:
RSA 2048 RSA-PSS 2048 prime256v1 ed25519 waiting for 4 threads: 309ms
936 assertions passed 309.74ms
100 ed25519 Generation in 15.30ms i.e. 6.3K/s, aver. 153.06us
100 prime256v1 Generation in 21.15ms i.e. 4.6K/s, aver. 211.50us
100 ed25519 Sign in 70.62ms i.e. 1.3K/s, aver. 706.22us
100 prime256v1 Sign in 68.01ms i.e. 1.4K/s, aver. 680.12us
100 ed25519 Verify in 56.45ms i.e. 1.7K/s, aver. 564.50us
100 prime256v1 Verify in 54.13ms i.e. 1.8K/s, aver. 541.30us
3 RSA 2048 Generation in 240.35ms i.e. 12/s, aver. 80.11ms
30 RSA 2048 Sign in 25.54ms i.e. 1.1K/s, aver. 851.56us
30 RSA 2048 Verify in 6.78ms i.e. 4.3K/s, aver. 226.06us
3 RSA-PSS 2048 Generation in 275.75ms i.e. 10/s, aver. 91.91ms
30 RSA-PSS 2048 Sign in 25.36ms i.e. 1.1K/s, aver. 845.33us
30 RSA-PSS 2048 Verify in 6.75ms i.e. 4.3K/s, aver. 225.26us
Total failed: 0 / 68,807 - Core ecc PASSED 747.96ms
1.5. Core compression:
- In memory compression: 21 assertions passed 93.04ms
- GZIP format: 31 assertions passed 63.69ms
- ZIP format: 977 assertions passed 581.57ms
- SynLZ: 23,942 assertions passed 55.95ms
- TAlgoCompress: 1,218 assertions passed 378.94ms
TAlgoSynLZ 3.8 MB->2.2 MB: comp 371MB/s decomp 506MB/s
TAlgoRleLZ 3.8 MB->2.1 MB: comp 263.9MB/s decomp 492.5MB/s
TAlgoRle 3.8 MB->3.3 MB: comp 886.9MB/s decomp 9.6GB/s
TAlgoLizard 3.8 MB->2.1 MB: comp 53.6MB/s decomp 701.4MB/s
TAlgoLizardFast 3.8 MB->2.4 MB: comp 290.4MB/s decomp 761.8MB/s
TAlgoLizardHuffman 3.8 MB->2.1 MB: comp 35.4MB/s decomp 586MB/s
TAlgoDeflate 3.8 MB->1.6 MB: comp 93.6MB/s decomp 715.2MB/s
TAlgoDeflateFast 3.8 MB->1.8 MB: comp 215.1MB/s decomp 777.7MB/s
Total failed: 0 / 26,189 - Core compression PASSED 1.18s
1.6. Network protocols:
- SocketIO: 88 assertions passed 3us
- Open API: 566 assertions passed 25.22ms
Pets2 in 153us, 40.6 MB/s
Pets3 in 69us, 71 MB/s
PetStore in 304us, 54.4 MB/s
Qdrant in 2.34ms, 70.9 MB/s
VAS in 21.55ms, 67.4 MB/s
- DNS and LDAP: 3,715 assertions passed 91.30ms
time.google.com : 2025-06-24 08:28:52.764Z = 2025-06-24 08:28:52.807Z
- THttpPeerCache: 13,067 assertions passed 41.09ms
2000 messages in 271us i.e. 7M/s, aver. 135ns, 1.3 GB/s
10000 altered in 162us i.e. 58.8M/s, aver. 16ns, 11 GB/s
- HTTP: 138 assertions passed 56us
- THttpProxyCache: 76 assertions passed 32us
- TUriTree: 9,254 assertions passed 3.45ms
1000 big tree lookups in 343us i.e. 2.7M/s, aver. 343ns
1000 URI lookups in 64us i.e. 14.9M/s, aver. 64ns
1000 URI static rewrites in 135us i.e. 7M/s, aver. 135ns
1000 URI parametrized rewrites in 236us i.e. 4M/s, aver. 236ns
1000 URI static execute in 241us i.e. 3.9M/s, aver. 241ns
1000 URI parametrized execute in 371us i.e. 2.5M/s, aver. 371ns
- RTSP over HTTP: 2,296 assertions passed 178.42ms
- RTSP over HTTP buffered write: 2,102 assertions passed 34.83ms
- TTunnelLocal: 9,120 assertions passed 25.08ms
- IP addresses: 40,143 assertions passed 4.87ms
4468 parse TIp4SubNets in 534us i.e. 7.9M/s, aver. 119ns, 127 MB/s
20000 blacklist TIp4SubNets in 1.82ms i.e. 10.4M/s, aver. 91ns
20000 blacklist direct in 1.60ms i.e. 11.8M/s, aver. 80ns
- TFTP server: 7 assertions passed 8.25ms
2 TFTP request in 5.53ms i.e. 361/s, aver. 2.76ms, 90.3 MB/s
Total failed: 0 / 80,576 - Network protocols PASSED 960.06ms
2. ORM
2.1. Orm core:
- TOrm: 101 assertions passed 879us
- TOrmSigned: 200 assertions passed 1.84ms
- TOrmModel: 17 assertions passed 86us
- TRestServerFullMemory: 1,370,749 assertions passed 290.22ms
Total failed: 0 / 1,371,067 - Orm core PASSED 293.10ms
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 26.71ms
- Virtual table direct access: 12 assertions passed 207us
- TOrmTableJson: 169,124 assertions passed 29.60ms
- TRestClientDB: 608,198 assertions passed 220.04ms
- Regexp function: 6,015 assertions passed 4.97ms
- TRecordVersion: 20,081 assertions passed 15.23ms
Total failed: 0 / 825,721 - Sqlite file PASSED 296.81ms
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 27.62ms
- Virtual table direct access: 12 assertions passed 150us
- TOrmTableJson: 169,124 assertions passed 29.07ms
- TRestClientDB: 608,198 assertions passed 223.06ms
- Regexp function: 6,015 assertions passed 5.08ms
- TRecordVersion: 20,081 assertions passed 15.54ms
Total failed: 0 / 825,721 - Sqlite file WAL PASSED 300.58ms
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 24.02ms
- Virtual table direct access: 12 assertions passed 170us
- TOrmTableJson: 169,124 assertions passed 30.04ms
- TRestClientDB: 608,196 assertions passed 215.96ms
- Regexp function: 6,015 assertions passed 5.46ms
- TRecordVersion: 20,081 assertions passed 17.25ms
Total failed: 0 / 825,699 - Sqlite file memory map PASSED 292.95ms
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 23.21ms
- Virtual table direct access: 12 assertions passed 133us
- TOrmTableJson: 169,124 assertions passed 29.58ms
- TRestClientDB: 676,506 assertions passed 314.75ms
- Regexp function: 6,015 assertions passed 4.79ms
- TRecordVersion: 20,081 assertions passed 14.91ms
- TOrmTableWritable: 24,086 assertions passed 1.94ms
- RTree: 280,024 assertions passed 233.08ms
10000 With RTree in 120.05ms i.e. 81.3K/s, aver. 12us
10000 With RTreeInteger in 112.30ms i.e. 86.9K/s, aver. 11.23us
- Shard write: 10,602 assertions passed 33.98ms
- Shard read: 140,001 assertions passed 33.70ms
- Shard read after purge: 114,003 assertions passed 27.03ms
- MaxShardCount: 144,002 assertions passed 36.95ms
Total failed: 0 / 1,606,727 - Sqlite memory PASSED 754.16ms
2.6. External database:
- SynDBRemote: 36,491 assertions passed 46.15ms
- DB properties persistence: 7 assertions passed 64us
- External records: 2 assertions passed 140us
- Auto adapt SQL: 1,127 assertions passed 834us
- Crypted database: 253,277 assertions passed 26.05ms
- External via REST: 181,274 assertions passed 156.90ms
- External via virtual table: 181,274 assertions passed 233.71ms
- External via REST with change tracking: 191,374 assertions passed 360.41ms
Total failed: 0 / 844,826 - External database PASSED 824.38ms
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 21.02ms
using THttpAsyncServer Debian Linux 6.1.0 epoll
- TRestHttpClient: 4 assertions passed 4.54ms
using TRestHttpClientSocket
- Http client keep alive: 4,088 assertions passed 27.13ms
4.7KB, first 1.17ms, done 23.71ms i.e. 42167/s, aver. 23.71us, 193.9MB/s
- Http client multi connect: 4,088 assertions passed 36.98ms
4.7KB, first 67us, done 34.86ms i.e. 28682/s, aver. 34.86us, 131.9MB/s
- TRestHttpsServer: 29 assertions passed 136.83ms
using THttpAsyncServer Debian Linux 6.1.0 epoll
- TRestHttpsClient: 6 assertions passed 16.82ms
using TRestHttpClientSocket
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
- Https client keep alive: 5,129 assertions passed 56.13ms
4.7KB, first 4.11ms, done 45.56ms i.e. 21948/s, aver. 45.56us, 100.9MB/s
- Direct in process access: 4,057 assertions passed 10.21ms
4.7KB, first 150us, done 8.57ms i.e. 116577/s, aver. 8.57us, 536.1MB/s
- HTTP several DB servers: 12,610 assertions passed 393.70ms
4.7KB, first 461us, done 141.05ms i.e. 7089/s, aver. 141.05us, 32.6MB/s
4.7KB, first 329us, done 62.88ms i.e. 15902/s, aver. 62.88us, 73.1MB/s
4.7KB, first 128us, done 27.12ms i.e. 36860/s, aver. 27.12us, 169.5MB/s
Total failed: 0 / 30,013 - Client server access PASSED 806.15ms
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 8.06ms
- TRestServerDB: 69,679 assertions passed 39.52ms
1=295234/s 2=112000/s 5=106919/s 10=63074/s 30=112703/s 50=113470/s
- TRestClientDB: 69,680 assertions passed 88.79ms
1=153475/s 2=156845/s 5=134460/s 10=73653/s 30=28105/s 50=18204/s
- TCP sockets: 71,153 assertions passed 282.81ms
1=18815/s 2=18784/s 5=27097/s 10=48312/s 30=35047/s 50=18871/s
- Unix domain sockets: 69,682 assertions passed 229.71ms
1=21713/s 2=46835/s 5=59864/s 10=59251/s 30=36676/s 50=24753/s
- Websockets: 69,690 assertions passed 365.94ms
1=13194/s 2=22249/s 5=30634/s 10=15860/s 30=12543/s 50=15486/s
- Locked: 69,680 assertions passed 118.12ms
1=41916/s 2=87064/s 5=68728/s 10=66218/s 30=26322/s 50=16077/s
- Unlocked: 69,679 assertions passed 120.12ms
1=50960/s 2=69190/s 5=53463/s 10=32357/s 30=24269/s 50=23402/s
- Main thread: 69,677 assertions passed 48.75ms
1=41721/s 2=97181/s 5=114697/s 10=140618/s 30=129725/s 50=105278/s
- Background thread: 69,680 assertions passed 119.68ms
1=99304/s 2=76086/s 5=74834/s 10=60774/s 30=22066/s 50=14298/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 628,601 - Multi thread process PASSED 1.47s
3. SOA
3.1. Core script:
- Quick JS low level: 40,057 assertions passed 30.34ms
Total failed: 0 / 40,057 - Core script PASSED 30.35ms
3.2. Service oriented architecture:
- Weak interfaces: 56 assertions passed 35us
- Direct call: 1,391,100 assertions passed 7.64ms
- Server side: 1,391,366 assertions passed 14.88ms
- Security: 133 assertions passed 1.58ms
Http HttpLog JsonObject Sessions Locked Crc32 Crc32c JsonRpc XxHash Weak
Basic Md5 Sha1 Sha256 Sha3 Sha512 DbLog Background MainThread CustomRtti
32,066,467 assertions passed 1.59s
- Mocks and stubs: 30,031 assertions passed 10.23ms
Total failed: 0 / 34,879,153 - Service oriented architecture PASSED 1.62s
3.3. Bidirectional remote connection:
- Websockets protocols: 32,500 assertions passed 1.76ms
- Run http server: 2 assertions passed 4.97ms
- Soa callback on server side: 4,646 assertions passed 959us
- Soa callback via json websockets: 7,000 assertions passed 188.70ms
- Soa callback via binary websockets: 7,000 assertions passed 242.50ms
- Relay start: 4 assertions passed 11.95ms
- Relay soa callback via json websockets: 7,001 assertions passed 507.65ms
- Relay connection recreate: 1 assertion passed 4.31ms
- Relay soa callback via binary websockets: 7,001 assertions passed 470.53ms
- Relay shutdown: 2 assertions passed 123.84ms
- TRecordVersion: 20,089 assertions passed 44.89ms
Total failed: 0 / 85,246 - Bidirectional remote connection PASSED 1.70s
Debian GNU/Linux 12 (bookworm) - Linux 6.1.0-37-amd64 [utf8 62.5GB 6010008]
20 x 13th Gen Intel(R) Core(TM) i5-13500 [24MB] (x64)
on Micro-Star International Co., Ltd. MS-7D43 1.0
Using mORMot 2.3.11249 x64MMs 24 Jun 2025 and OpenSSL 3.0.16 11 Feb 2025
TSqlite3LibraryStatic 3.46.1 with internal MM
Generated with: Free Pascal 3.2.3 64 bit Linux compiler
Time elapsed for all tests: 16.36s
Performed 24 Jun 2025, 10:29:02 by ab on dev-ab
Total assertions failed for all test suits: 0 / 114,881,428
! All tests passed successfully.
Flags: SERVER assumulthrd erms debug repmemleak
Small: 13K/1MB including tiny<=128B arenas=8 fed from Medium
Medium: 36MB/105MB peak=51MB current=29 alloc=84 free=55 sleep=10
Large: 0B/5GB peak=35MB current=0 alloc=3K free=3K sleep=0
Total Sleep: count=10
Small Blocks since beginning: 54M/5GB (as small=45/46 tiny=56/56)
48=24M 64=10M 80=4M 96=2M 32=1M 112=1M 528=1M 128=1M
176=851K 160=759K 144=691K 288=275K 448=254K 576=231K 272=205K 304=195K
Small Blocks current: 13K/1MB
48=5K 64=2K 80=878 128=851 96=824 32=534 352=488 112=346
192=144 416=105 624=90 208=86 288=86 672=85 480=69 144=59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment