Skip to content

Instantly share code, notes, and snippets.

@martin-doyle
Created February 6, 2022 16:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save martin-doyle/a89b6d5267e145466c0d857985572920 to your computer and use it in GitHub Desktop.
Save martin-doyle/a89b6d5267e145466c0d857985572920 to your computer and use it in GitHub Desktop.
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 72us
- TRawUtf8List: 190,174 assertions passed 76.14ms
- TDynArray: 1,091,805 assertions passed 188.08ms
- TDynArrayHashed: 1,599,070 assertions passed 532.74ms
- TSynDictionary: 283,050 assertions passed 496.70ms
- TSynQueue: 6,541,501 assertions passed 160.49ms
- TSynNameValue: 40,032 assertions passed 11.62ms
- TRawUtf8Interning: 2,000,013 assertions passed 94.78ms
500000 interning 16 KB in 25.54ms i.e. 18.6M/s, aver. 51ns, 597.2 MB/s
500000 direct 15.2 MB in 17.91ms i.e. 26.6M/s, aver. 35ns, 851.6 MB/s
- TObjArray: 3,230 assertions passed 591us
- Custom RTL: 297,646 assertions passed 824.01ms
FillChar in 17.19ms, 22.6 GB/s
Move in 286.43ms, 1 GB/s
small Move in 75.03ms, 1.4 GB/s
big Move in 190.45ms, 2 GB/s
FillCharFast in 12.13ms, 32 GB/s
MoveFast in 8.80ms, 35.4 GB/s
small MoveFast in 11.72ms, 9.3 GB/s
big MoveFast in 10.16ms, 38.4 GB/s
- Fast string compare: 41 assertions passed 47us
- IdemPropName: 228 assertions passed 80us
- Url encoding: 167 assertions passed 795us
- GUID: 10,019 assertions passed 2.19ms
- ParseCommandArguments: 232 assertions passed 50us
- IsMatch: 4,250 assertions passed 142us
- TExprParserMatch: 140 assertions passed 91us
- Soundex: 35 assertions passed 46us
- Numerical conversions: 2,543,821 assertions passed 259.78ms
100000 FloatToText in 27.72ms i.e. 3.4M/s, aver. 277ns, 65.4 MB/s
100000 str in 12.29ms i.e. 7.7M/s, aver. 122ns, 186 MB/s
100000 DoubleToShort in 6.93ms i.e. 13.7M/s, aver. 69ns, 289 MB/s
100000 DoubleToAscii in 6.49ms i.e. 14.6M/s, aver. 64ns, 311.3 MB/s
- Integers: 146,512 assertions passed 32.02ms
- crc32c: 310,089 assertions passed 69.88ms
pas 338.2 MB/s fast 796.1 MB/s armv8 9.5 GB/s
- Random32: 221,003 assertions passed 1.75ms
240000 Random32 in 1.31ms i.e. 174M/s, aver. 5ns, 696.2 MB/s
RandomBytes in 324us, 1.1 GB/s
- Bloom filters: 2,010,072 assertions passed 131.01ms
- DeltaCompress: 87 assertions passed 1.78ms
- Curr 64: 20,056 assertions passed 800us
- CamelCase: 11 assertions passed 58us
- Bits: 15,567 assertions passed 34.78ms
- Ini files: 7,028 assertions passed 37.84ms
- UTF8: 1,386,139 assertions passed 912.35ms
- Url decoding: 1,301 assertions passed 156us
- Mime types: 450 assertions passed 869us
- Baudot code: 10,007 assertions passed 58.86ms
- Iso 8601 date and time: 200,831 assertions passed 4.04ms
- Time zones: 459 assertions passed 200.62ms
- Quick select: 4,015 assertions passed 131.49ms
- TSynCache: 408 assertions passed 118us
- TSynFilter: 804 assertions passed 1.06ms
- TSynValidate: 677 assertions passed 345us
- TSynLogFile: 56 assertions passed 77us
- TSynUniqueIdentifier: 1,300,002 assertions passed 356.65ms
200000 ComputeNew in 1.76ms i.e. 108.1M/s, aver. 8ns
Total failed: 0 / 20,241,771 - Core base PASSED 4.62s
1.2. Core process:
- RTTI: 1,345 assertions passed 274us
- Url encoding: 300 assertions passed 344us
- Encode decode JSON: 429,422 assertions passed 101.86ms
- JSON benchmark: 100,519 assertions passed 1.31s
StrLen() in 909us, 21 GB/s
IsValidUtf8(RawUtf8) in 5.97ms, 3.2 GB/s
IsValidUtf8(PUtf8Char) in 16.07ms, 1.1 GB/s
IsValidJson(RawUtf8) in 32.69ms, 599.7 MB/s
IsValidJson(PUtf8Char) in 39.71ms, 493.7 MB/s
JsonArrayCount(P) in 31.75ms i.e. 4.9M/s, 617.5 MB/s
JsonArrayCount(P,PMax) in 37.39ms i.e. 4.1M/s, 524.3 MB/s
JsonObjectPropCount() in 17.74ms, 639.6 MB/s
jsonUnquotedPropNameCompact in 67.43ms, 258.1 MB/s
jsonHumanReadable in 54.44ms, 458.1 MB/s
TDocVariant in 137.01ms i.e. 1.1M/s, 143.1 MB/s
TDocVariant no guess in 162.36ms i.e. 0.9M/s, 120.7 MB/s
TDocVariant dvoIntern in 168.05ms i.e. 0.9M/s, 116.6 MB/s
TOrmTableJson save in 31.27ms i.e. 5M/s, 275.8 MB/s
TOrmTableJson exp in 49.38ms i.e. 3.1M/s, 397 MB/s
TOrmTableJson not exp in 21.37ms i.e. 7.3M/s, 403.5 MB/s
TDocVariant FromResults exp in 68.47ms i.e. 2.2M/s, 286.3 MB/s
TDocVariant FromResults not exp in 35.02ms i.e. 4.4M/s, 246.2 MB/s
DynArrayLoadJson exp in 39.13ms i.e. 4M/s, 501 MB/s
DynArrayLoadJson non exp in 26.26ms i.e. 5.9M/s, 328.3 MB/s
TOrmPeopleObjArray exp in 99.46ms i.e. 1.5M/s, 197.1 MB/s
TOrmPeopleObjArray non exp in 77.73ms i.e. 2M/s, 110.9 MB/s
fpjson in 69.65ms i.e. 230.6K/s, 28.1 MB/s
- Wiki markdown to html: 56 assertions passed 87us
- Variants: 122 assertions passed 99us
- Mustache renderer: 166 assertions passed 562us
- TDocVariant: 91,944 assertions passed 65.59ms
- TDecimal128: 17,446 assertions passed 973us
- BSON: 245,070 assertions passed 12.12ms
100000 TBsonObjectID.ComputeNew in 11.74ms i.e. 8.1M/s, aver. 117ns
- TSelectStatement: 229 assertions passed 105us
- TSynMonitorUsage: 1,202 assertions passed 99us
Total failed: 0 / 887,821 - Core process PASSED 1.49s
1.3. Core collections:
- IList: 6,944,142 assertions passed 813.27ms
500000 IList<Byte> in 1.80ms i.e. 263.7M/s, aver. 3ns
500000 IList<Word> in 1.83ms i.e. 259.5M/s, aver. 3ns
500000 IList<Integer> in 2.08ms i.e. 228.8M/s, aver. 4ns
500000 IList<Cardinal> in 2.05ms i.e. 232M/s, aver. 4ns
500000 IList<Int64> in 2.36ms i.e. 201.3M/s, aver. 4ns
500000 IList<QWord> in 2.34ms i.e. 203.4M/s, aver. 4ns
500000 IList<Single> in 10.03ms i.e. 47.5M/s, aver. 20ns
500000 IList<Double> in 2.20ms i.e. 216.3M/s, aver. 4ns
500000 IList<TDateTime> in 2.20ms i.e. 216.6M/s, aver. 4ns
500000 IList<UTF8String> in 13.70ms i.e. 34.7M/s, aver. 27ns
500000 IList<UnicodeString> in 5.56ms i.e. 85.7M/s, aver. 11ns
500000 IList<Variant> in 11.76ms i.e. 40.5M/s, aver. 23ns
500000 IList<THash128> in 13.87ms i.e. 34.3M/s, aver. 27ns
500000 IList<TGuid> in 13.31ms i.e. 35.8M/s, aver. 26ns
- IKeyValue: 3,800,050 assertions passed 164.54ms
100000 integer,Int64 add in 4.80ms i.e. 19.8M/s, aver. 48ns
100000 integer,Int64 get in 16.70ms i.e. 5.7M/s, aver. 167ns
100000 RawUtf8,double add in 21.07ms i.e. 4.5M/s, aver. 210ns
100000 RawUtf8,double get in 3.15ms i.e. 30.2M/s, aver. 31ns
100000 integer,Int64 capa add in 3.91ms i.e. 24.3M/s, aver. 39ns
100000 integer,Int64 capa get in 1.88ms i.e. 50.5M/s, aver. 18ns
100000 RawUtf8,double capa add in 7.25ms i.e. 13.1M/s, aver. 72ns
100000 RawUtf8,double capa get in 2.29ms i.e. 41.6M/s, aver. 22ns
Total failed: 0 / 10,744,192 - Core collections PASSED 978.48ms
1.4. Core crypto:
- MD5: 166 assertions passed 228us
- SHA1: 8 assertions passed 3.51ms
- SHA256: 20 assertions passed 18.67ms
- SHA512: 32 assertions passed 58.10ms
- SHA3: 8,225 assertions passed 50.43ms
- AES: 72,700 assertions passed 166.33ms
- AES_GCM: 215 assertions passed 77us
- RC4: 1,016 assertions passed 732us
- Hashes: 21 assertions passed 520.02ms
- Base64: 26,064 assertions passed 171.36ms
encoding in 52.46ms, 1.8 GB/s
decoding in 81.03ms, 1.2 GB/s
- TAesPNRG: 362,626 assertions passed 215.17ms
100000 mORMot Random32 in 1.28ms i.e. 74.4M/s, aver. 12ns, 297.7 MB/s
mORMot FillRandom in 22us, 4.2 GB/s
100000 OpenSSL Random32 in 160.54ms i.e. 608.2K/s, aver. 1.60us, 2.3 MB/s
OpenSSL FillRandom in 63us, 1.4 GB/s
100000 Lecuyer Random32 in 570us i.e. 167.3M/s, aver. 5ns, 669.2 MB/s
Lecuyer RandomBytes in 81us, 1.1 GB/s
- CryptDataForCurrentUser: 5,000 assertions passed 2.86ms
2000 AES-CFB in 2.76ms i.e. 707.6K/s, aver. 1.38us, 377.7 MB/s
- JWT: 164,916 assertions passed 746.82ms
1000 HS256 in 571us i.e. 1.6M/s, aver. 571ns
1000 HS384 in 1.75ms i.e. 556.1K/s, aver. 1.75us
1000 HS512 in 1.76ms i.e. 553.2K/s, aver. 1.76us
1000 S3224 in 832us i.e. 1.1M/s, aver. 832ns
1000 S3256 in 825us i.e. 1.1M/s, aver. 825ns
1000 S3384 in 829us i.e. 1.1M/s, aver. 829ns
1000 S3512 in 837us i.e. 1.1M/s, aver. 837ns
1000 S3S128 in 829us i.e. 1.1M/s, aver. 829ns
1000 S3S256 in 15.44ms i.e. 63.2K/s, aver. 15us
100 ES256 in 5.43ms i.e. 17.9K/s, aver. 54us
100 RS256 in 2.39ms i.e. 40.7K/s, aver. 23us
100 RS384 in 2.29ms i.e. 42.5K/s, aver. 22us
100 RS512 in 10.36ms i.e. 9.4K/s, aver. 103us
100 PS256 in 2.38ms i.e. 40.9K/s, aver. 23us
100 PS384 in 10.46ms i.e. 9.3K/s, aver. 104us
100 PS512 in 2.40ms i.e. 40.5K/s, aver. 24us
100 ES256 in 6.49ms i.e. 15K/s, aver. 64us
100 ES384 in 50.40ms i.e. 1.9K/s, aver. 504us
100 ES512 in 150.58ms i.e. 664/s, aver. 1.50ms
100 ES256K in 42.89ms i.e. 2.2K/s, aver. 428us
100 EdDSA in 22.54ms i.e. 4.3K/s, aver. 225us
- TBinaryCookieGenerator: 82,944 assertions passed 3.98ms
16384 generate in 1.47ms i.e. 10.5M/s, aver. 90ns
16384 validate in 746us i.e. 20.9M/s, aver. 45ns
- Catalog: 2,943 assertions passed 1.63s
- Benchmark: 107,500 assertions passed 548.81ms
2500 crc32c in 664us i.e. 3.5M/s or 7.8 GB/s
2500 xxhash32 in 848us i.e. 2.8M/s or 6.1 GB/s
2500 crc32 in 658us i.e. 3.6M/s or 7.8 GB/s
2500 adler32 in 210us i.e. 11.3M/s or 24.7 GB/s
2500 hash32 in 485us i.e. 4.9M/s or 10.7 GB/s
2500 md5 in 11.99ms i.e. 203.5K/s or 443.6 MB/s
2500 sha1 in 29.89ms i.e. 81.6K/s or 177.9 MB/s
2500 hmacsha1 in 25.77ms i.e. 94.7K/s or 206.4 MB/s
2500 sha256 in 2.77ms i.e. 879.4K/s or 1.8 GB/s
2500 hmacsha256 in 3.11ms i.e. 784.2K/s or 1.6 GB/s
2500 sha384 in 20.13ms i.e. 121.2K/s or 264.2 MB/s
2500 hmacsha384 in 31.03ms i.e. 78.6K/s or 171.4 MB/s
2500 sha512 in 19.63ms i.e. 124.3K/s or 271 MB/s
2500 hmacsha512 in 39.51ms i.e. 61.7K/s or 134.6 MB/s
2500 sha3_256 in 16.77ms i.e. 145.5K/s or 317.1 MB/s
2500 sha3_512 in 60.40ms i.e. 40.4K/s or 88 MB/s
2500 rc4 in 13.27ms i.e. 183.9K/s or 400.9 MB/s
2500 mormot aes-128-cfb in 16.73ms i.e. 145.9K/s or 318 MB/s
2500 mormot aes-128-ofb in 5.72ms i.e. 426.1K/s or 0.9 GB/s
2500 mormot aes-128-c64 in 1.50ms i.e. 1.5M/s or 3.4 GB/s
2500 mormot aes-128-ctr in 1.48ms i.e. 1.6M/s or 3.5 GB/s
2500 mormot aes-128-cfc in 15.58ms i.e. 156.6K/s or 341.3 MB/s
2500 mormot aes-128-ofc in 15.06ms i.e. 162.1K/s or 353.2 MB/s
2500 mormot aes-128-ctc in 3.51ms i.e. 695.3K/s or 1.4 GB/s
2500 mormot aes-128-gcm in 13.30ms i.e. 183.4K/s or 399.8 MB/s
2500 mormot aes-256-cfb in 21.04ms i.e. 116K/s or 252.8 MB/s
2500 mormot aes-256-ofb in 5.81ms i.e. 419.9K/s or 915.1 MB/s
2500 mormot aes-256-c64 in 1.86ms i.e. 1.2M/s or 2.7 GB/s
2500 mormot aes-256-ctr in 9.86ms i.e. 247.4K/s or 539.1 MB/s
2500 mormot aes-256-cfc in 17.01ms i.e. 143.4K/s or 312.6 MB/s
2500 mormot aes-256-ofc in 6.69ms i.e. 364.7K/s or 794.8 MB/s
2500 mormot aes-256-ctc in 3.97ms i.e. 614.5K/s or 1.3 GB/s
2500 mormot aes-256-gcm in 13.33ms i.e. 183.1K/s or 399 MB/s
2500 openssl aes-128-cfb in 5.74ms i.e. 425.1K/s or 0.9 GB/s
2500 openssl aes-128-ofb in 16.97ms i.e. 143.8K/s or 313.5 MB/s
2500 openssl aes-128-ctr in 915us i.e. 2.6M/s or 5.6 GB/s
2500 openssl aes-128-gcm in 1.90ms i.e. 1.2M/s or 2.7 GB/s
2500 openssl aes-256-cfb in 15.23ms i.e. 160.2K/s or 349.1 MB/s
2500 openssl aes-256-ofb in 14.43ms i.e. 169K/s or 368.5 MB/s
2500 openssl aes-256-ctr in 1.11ms i.e. 2.1M/s or 4.6 GB/s
2500 openssl aes-256-gcm in 2.15ms i.e. 1.1M/s or 2.4 GB/s
2500 shake128 in 23.99ms i.e. 101.7K/s or 221.7 MB/s
2500 shake256 in 36.27ms i.e. 67.3K/s or 146.6 MB/s
Total failed: 0 / 834,396 - Core crypto PASSED 4.13s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 4.02ms
- ECC: 2,104 assertions passed 471.70ms
300 Ecc256r1MakeKey in 8.38ms i.e. 34.9K/s, aver. 27us
300 Ecc256r1Uncompress in 37.44ms i.e. 7.8K/s, aver. 124us
300 Ecc256r1Sign in 9.91ms i.e. 29.5K/s, aver. 33us
300 Ecc256r1Verify in 35.61ms i.e. 8.2K/s, aver. 118us
300 Ecc256r1VerifyUncomp in 345.34ms i.e. 868/s, aver. 1.15ms
598 Ecc256r1SharedSecret in 31.35ms i.e. 18.6K/s, aver. 52us
- Certificates and signatures: 106 assertions passed 3.13ms
- Ecc command line tool: 704 assertions passed 63.19ms
- ECDHE stream protocol: 63,393 assertions passed 747.76ms
100 efAesCrc128 in 11.10ms i.e. 8.7K/s, aver. 111us, 229.2 MB/s
100 efAesCfb128 in 3.01ms i.e. 32.4K/s, aver. 30us, 844.9 MB/s
100 efAesOfb128 in 2.79ms i.e. 34.9K/s, aver. 27us, 911.5 MB/s
100 efAesCtr128 in 819us i.e. 119.2K/s, aver. 8.19us, 3 GB/s
100 efAesCbc128 in 1.55ms i.e. 62.8K/s, aver. 15us, 1.6 GB/s
100 efAesCrc256 in 3.63ms i.e. 26.8K/s, aver. 36us, 700.5 MB/s
100 efAesCfb256 in 3.69ms i.e. 26.4K/s, aver. 36us, 689.7 MB/s
100 efAesOfb256 in 3.45ms i.e. 28.2K/s, aver. 34us, 737 MB/s
100 efAesCtr256 in 895us i.e. 109.1K/s, aver. 8.95us, 2.7 GB/s
100 efAesCbc256 in 1.96ms i.e. 49.7K/s, aver. 19us, 1.2 GB/s
100 efAesGcm128 in 854us i.e. 114.3K/s, aver. 8.54us, 2.9 GB/s
100 efAesGcm256 in 956us i.e. 102.1K/s, aver. 9.56us, 2.6 GB/s
100 efAesCtc128 in 1.64ms i.e. 59.4K/s, aver. 16us, 1.5 GB/s
100 efAesCtc256 in 1.90ms i.e. 51.2K/s, aver. 19us, 1.3 GB/s
- OpenSSL: 532 assertions passed 324.93ms
3 RSA 2048 Generation in 101.45ms i.e. 29/s, aver. 33.81ms
30 RSA 2048 Sign in 24.86ms i.e. 1.1K/s, aver. 828us
30 RSA 2048 Verify in 689us i.e. 42.5K/s, aver. 22us
3 RSA-PSS 2048 Generation in 112.56ms i.e. 26/s, aver. 37.52ms
30 RSA-PSS 2048 Sign in 24.66ms i.e. 1.1K/s, aver. 822us
30 RSA-PSS 2048 Verify in 709us i.e. 41.3K/s, aver. 23us
100 prime256v1 Generation in 3.77ms i.e. 25.8K/s, aver. 37us
100 prime256v1 Sign in 2.87ms i.e. 34K/s, aver. 28us
100 prime256v1 Verify in 18.43ms i.e. 5.2K/s, aver. 184us
100 ed25519 Generation in 3.37ms i.e. 28.9K/s, aver. 33us
100 ed25519 Sign in 6.17ms i.e. 15.8K/s, aver. 61us
100 ed25519 Verify in 16.54ms i.e. 5.9K/s, aver. 165us
Total failed: 0 / 66,862 - Core ecc PASSED 1.61s
1.6. Core compression:
- In memory compression: 21 assertions passed 324.99ms
- GZIP format: 30 assertions passed 132.49ms
- ZIP format: 880 assertions passed 1.17s
- SynLZ: 15,117 assertions passed 94.12ms
- TAlgoCompress: 1,218 assertions passed 358.54ms
TAlgoSynLZ 3.8 MB->2 MB: comp 368.6MB/s decomp 684.5MB/s
TAlgoRleLZ 3.8 MB->2 MB: comp 246.5MB/s decomp 644.8MB/s
TAlgoRle 3.8 MB->3.7 MB: comp 648.4MB/s decomp 14.1GB/s
TAlgoLizard 3.8 MB->1.9 MB: comp 54.2MB/s decomp 3.3GB/s
TAlgoLizardFast 3.8 MB->2.2 MB: comp 483.5MB/s decomp 4.2GB/s
TAlgoLizardHuffman 3.8 MB->1.8 MB: comp 105.2MB/s decomp 1.2GB/s
TAlgoDeflate 3.8 MB->1.5 MB: comp 40.1MB/s decomp 340.8MB/s
TAlgoDeflateFast 3.8 MB->1.6 MB: comp 89.8MB/s decomp 313.3MB/s
Total failed: 0 / 17,266 - Core compression PASSED 2.09s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 301.64ms
- Rtsp over http buffered write: 1,900 assertions passed 237.59ms
Total failed: 0 / 3,800 - Network protocols PASSED 539.33ms
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 202us
- TOrmSigned: 200 assertions passed 443us
- TOrmModel: 49 assertions passed 19us
- TRestServerFullMemory: 1,370,749 assertions passed 643.12ms
Total failed: 0 / 1,371,091 - Orm core PASSED 643.89ms
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 66.63ms
- Virtual table direct access: 12 assertions passed 265us
- TOrmTableJson: 149,089 assertions passed 70.24ms
- TRestClientDB: 608,198 assertions passed 342.62ms
- Regexp function: 6,015 assertions passed 12.27ms
- TRecordVersion: 20,060 assertions passed 58.43ms
Total failed: 0 / 805,665 - Sqlite file PASSED 557.62ms
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 53.99ms
- Virtual table direct access: 12 assertions passed 217us
- TOrmTableJson: 149,089 assertions passed 46.54ms
- TRestClientDB: 608,198 assertions passed 554.80ms
- Regexp function: 6,015 assertions passed 7.33ms
- TRecordVersion: 20,060 assertions passed 47.03ms
Total failed: 0 / 805,665 - Sqlite file WAL PASSED 719.66ms
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 55.84ms
- Virtual table direct access: 12 assertions passed 173us
- TOrmTableJson: 149,089 assertions passed 44.40ms
- TRestClientDB: 608,196 assertions passed 496.63ms
- Regexp function: 6,015 assertions passed 5.87ms
- TRecordVersion: 20,060 assertions passed 55.98ms
Total failed: 0 / 805,643 - Sqlite file memory map PASSED 665.39ms
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 45.34ms
- Virtual table direct access: 12 assertions passed 193us
- TOrmTableJson: 149,089 assertions passed 43.36ms
- TRestClientDB: 676,505 assertions passed 617.87ms
- Regexp function: 6,015 assertions passed 5.90ms
- TRecordVersion: 20,060 assertions passed 37.28ms
- TOrmTableWritable: 24,086 assertions passed 2.68ms
- RTree: 280,024 assertions passed 680.47ms
10000 With RTree in 348ms i.e. 28K/s, aver. 34us
10000 With RTreeInteger in 331.48ms i.e. 29.4K/s, aver. 33us
- Shard write: 10,602 assertions passed 97.04ms
- Shard read: 140,001 assertions passed 115.91ms
- Shard read after purge: 114,003 assertions passed 72.78ms
- MaxShardCount: 144,002 assertions passed 93.80ms
Total failed: 0 / 1,586,670 - Sqlite memory PASSED 1.81s
2.6. External database:
- SynDBRemote: 28,471 assertions passed 62.24ms
- DB properties persistence: 7 assertions passed 136us
- External records: 2 assertions passed 159us
- Auto adapt SQL: 1,041 assertions passed 835us
- Crypted database: 253,277 assertions passed 85.74ms
- External via REST: 170,355 assertions passed 298.74ms
- External via virtual table: 170,355 assertions passed 453.16ms
- External via REST with change tracking: 180,455 assertions passed 857.46ms
Total failed: 0 / 803,963 - External database PASSED 1.75s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 2.50ms
using THttpAsyncServer Ubuntu 5.13.0 epoll
- TRestHttpClient: 4 assertions passed 4.47ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 36.14ms
4.7 KB, first 582us, done 34.02ms i.e. 29391/s, aver. 34us, 135.1 MB/s
- HTTP client multi connect: 4,088 assertions passed 64.32ms
4.7 KB, first 83us, done 61.94ms i.e. 16142/s, aver. 61us, 74.2 MB/s
- Direct in process access: 4,057 assertions passed 22.20ms
4.7 KB, first 18us, done 21.10ms i.e. 47393/s, aver. 21us, 217.9 MB/s
- HTTP several DB servers: 12,607 assertions passed 528.64ms
4.7 KB, first 109us, done 46.53ms i.e. 21490/s, aver. 46us, 98.8 MB/s
4.7 KB, first 82us, done 24.70ms i.e. 40485/s, aver. 24us, 186.2 MB/s
4.7 KB, first 72us, done 23.77ms i.e. 42064/s, aver. 23us, 193.4 MB/s
Total failed: 0 / 24,846 - Client server access PASSED 1.06s
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 520us
- TRestServerDB: 8,422 assertions passed 46.95ms
1=53349/s 2=65579/s 5=169491/s 10=141214/s 30=118906/s 50=113562/s
- TRestClientDB: 8,418 assertions passed 46.54ms
1=149764/s 2=53102/s 5=137578/s 10=132776/s 30=87010/s 50=84459/s
- TCP sockets: 8,421 assertions passed 646.64ms
1=22711/s 2=22678/s 5=31129/s 10=45466/s 30=50798/s 50=33850/s
- Unix domain sockets: 8,422 assertions passed 555.85ms
1=37644/s 2=22008/s 5=33396/s 10=32247/s 30=52063/s 50=17777/s
- Websockets: 8,422 assertions passed 382.53ms
1=11006/s 2=19087/s 5=17211/s 10=25631/s 30=13203/s 50=13807/s
- Locked: 8,421 assertions passed 51.83ms
1=140675/s 2=66093/s 5=128346/s 10=52926/s 30=96246/s 50=83522/s
- Unlocked: 8,421 assertions passed 42.90ms
1=147585/s 2=86633/s 5=70486/s 10=128960/s 30=119904/s 50=100560/s
- Main thread: 8,418 assertions passed 73.52ms
1=110479/s 2=41594/s 5=65037/s 10=87521/s 30=55852/s 50=40733/s
- Background thread: 8,422 assertions passed 106.02ms
1=31136/s 2=40112/s 5=57475/s 10=39064/s 30=40068/s 50=42204/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 75,788 - Multi thread process PASSED 2.10s
3. SOA
3.1. Service oriented architecture:
- Weak interfaces: 56 assertions passed 40us
- Service initialization: 268 assertions passed 889us
- Direct call: 1,379,310 assertions passed 20.35ms
- Server side: 1,379,330 assertions passed 22.36ms
- Client side REST: 1,839,107 assertions passed 441.07ms
- Client side REST as json object: 1,839,101 assertions passed 362.84ms
- Client side REST sessions stats: 1,839,101 assertions passed 400.62ms
- Client side REST locked: 1,839,105 assertions passed 582.47ms
- Client side REST main thread: 1,839,105 assertions passed 1.14s
- Client side REST background thread: 1,839,105 assertions passed 1.65s
- Client side REST sign with crc 32c: 1,839,101 assertions passed 373.23ms
- Client side REST sign with xxhash: 1,839,101 assertions passed 351.74ms
- Client side REST sign with md 5: 1,839,101 assertions passed 353.63ms
- Client side REST sign with sha 256: 1,839,101 assertions passed 419.46ms
- Client side REST sign with sha 512: 1,839,101 assertions passed 508.43ms
- Client side REST weak authentication: 1,839,101 assertions passed 313.21ms
- Client side REST basic authentication: 1,839,101 assertions passed 365.57ms
- Client side REST custom record layout: 1,839,101 assertions passed 363.73ms
- Client side REST service log to DB: 1,839,101 assertions passed 638.34ms
- Client side json RPC: 1,839,101 assertions passed 437.84ms
- Test over HTTP: 17,769 assertions passed 616.01ms
- Security: 139 assertions passed 871us
- Mocks and stubs: 30,030 assertions passed 33.63ms
Total failed: 0 / 32,232,536 - Service oriented architecture PASSED 9.42s
3.2. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 3.51ms
- Run http server: 2 assertions passed 12.26ms
- Soa callback on server side: 4,580 assertions passed 813us
- Soa callback via json websockets: 6,898 assertions passed 156.42ms
- Soa callback via binary websockets: 6,898 assertions passed 152.96ms
- Relay start: 4 assertions passed 25.70ms
- Relay soa callback via json websockets: 6,899 assertions passed 275.01ms
- Relay connection recreate: 1 assertion passed 15.65ms
- Relay soa callback via binary websockets: 6,899 assertions passed 372.65ms
- Relay shutdown: 2 assertions passed 125.28ms
- TRecordVersion: 20,068 assertions passed 75.44ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 1.31s
Ubuntu 20.04.3 LTS - Linux 5.13.0-27-generic (cp utf8)
aarch64
on Parallels International GmbH. Parallels ARM Virtual Machine 0.1
Using mORMot 2.0.1
TSqlite3LibraryStatic 3.37.2 with internal MM
Generated with: Free Pascal 3.2 64 bit Linux compiler
Time elapsed for all tests: 35.57s
Performed 2022-02-06 17:42:12 by parallels on ubuntu-linux-20-04-desktop
Total assertions failed for all test suits: 0 / 71,390,226
! All tests passed successfully.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment