Created
June 24, 2025 08:29
-
-
Save synopse/a43b0ec86edd995fc7de346ab8862fc5 to your computer and use it in GitHub Desktop.
Tests with FPC 3.2.4 RC1 version
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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