Skip to content

Instantly share code, notes, and snippets.

@martin-doyle
Created February 6, 2022 08:04
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/8b158d2bdbc0f729ca9bc0c7d68cfd7c to your computer and use it in GitHub Desktop.
Save martin-doyle/8b158d2bdbc0f729ca9bc0c7d68cfd7c to your computer and use it in GitHub Desktop.
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 28us
- TRawUtf8List: 190,174 assertions passed 63.56ms
- TDynArray: 1,091,805 assertions passed 95.88ms
- TDynArrayHashed: 1,599,070 assertions passed 508.19ms
- TSynDictionary: 283,050 assertions passed 484.51ms
- TSynQueue: 6,541,501 assertions passed 184.53ms
- TSynNameValue: 40,032 assertions passed 4.65ms
- TRawUtf8Interning: 2,000,013 assertions passed 117.17ms
500000 interning 16 KB in 30.55ms i.e. 15.6M/s, aver. 61ns, 499.4 MB/s
500000 direct 15.2 MB in 35.06ms i.e. 13.5M/s, aver. 70ns, 435.1 MB/s
- TObjArray: 3,230 assertions passed 10.28ms
- Custom RTL: 297,646 assertions passed 807.07ms
FillChar in 25.89ms, 15 GB/s
Move in 249.75ms, 1.2 GB/s
small Move in 51.08ms, 2.1 GB/s
big Move in 235.44ms, 1.6 GB/s
FillCharFast in 6.07ms, 63.9 GB/s
MoveFast in 7.98ms, 39.1 GB/s
small MoveFast in 11.87ms, 9.2 GB/s
big MoveFast in 10.05ms, 38.8 GB/s
- Fast string compare: 41 assertions passed 80us
- IdemPropName: 228 assertions passed 94us
- Url encoding: 167 assertions passed 808us
- GUID: 10,019 assertions passed 2.20ms
- ParseCommandArguments: 232 assertions passed 68us
- IsMatch: 4,250 assertions passed 160us
- TExprParserMatch: 140 assertions passed 106us
- Soundex: 35 assertions passed 62us
- Numerical conversions: 2,548,063 assertions passed 235.85ms
100000 FloatToText in 29.90ms i.e. 3.1M/s, aver. 299ns, 60.6 MB/s
100000 str in 12.79ms i.e. 7.4M/s, aver. 127ns, 178.9 MB/s
100000 DoubleToShort in 21.75ms i.e. 4.3M/s, aver. 217ns, 92.1 MB/s
100000 DoubleToAscii in 6.45ms i.e. 14.7M/s, aver. 64ns, 313.3 MB/s
- Integers: 146,512 assertions passed 57.28ms
- crc32c: 310,089 assertions passed 123.05ms
pas 178.8 MB/s fast 795.1 MB/s armv8 9.5 GB/s
- Random32: 221,003 assertions passed 1.73ms
240000 Random32 in 1.30ms i.e. 175.3M/s, aver. 5ns, 701.5 MB/s
RandomBytes in 324us, 1.1 GB/s
- Bloom filters: 2,010,072 assertions passed 73.44ms
- DeltaCompress: 87 assertions passed 2.69ms
- Curr 64: 20,056 assertions passed 810us
- CamelCase: 11 assertions passed 59us
- Bits: 15,567 assertions passed 20.59ms
- Ini files: 7,028 assertions passed 30.06ms
- UTF8: 1,386,066 assertions passed 960.65ms
- Url decoding: 1,301 assertions passed 154us
- Mime types: 450 assertions passed 994us
- Baudot code: 10,007 assertions passed 22.06ms
- Iso 8601 date and time: 200,831 assertions passed 14.43ms
- Time zones: 459 assertions passed 200.63ms
- Quick select: 4,015 assertions passed 135.36ms
- TSynCache: 408 assertions passed 67us
- TSynFilter: 804 assertions passed 1ms
- TSynValidate: 677 assertions passed 289us
- TSynLogFile: 56 assertions passed 24us
- TSynUniqueIdentifier: 1,300,002 assertions passed 222.43ms
200000 ComputeNew in 9.77ms i.e. 19.5M/s, aver. 48ns
Total failed: 0 / 20,245,940 - Core base PASSED 4.38s
1.2. Core process:
- RTTI: 1,345 assertions passed 292us
- Url encoding: 300 assertions passed 286us
- Encode decode JSON: 427,382 assertions passed 109.19ms
- JSON benchmark: no assertion 9us
- Wiki markdown to html: 56 assertions passed 31us
- Variants: 122 assertions passed 28us
- Mustache renderer: 166 assertions passed 454us
- TDocVariant: 91,944 assertions passed 49.14ms
- TDecimal128: 17,446 assertions passed 962us
- BSON: 245,070 assertions passed 3.82ms
100000 TBsonObjectID.ComputeNew in 3.45ms i.e. 27.5M/s, aver. 34ns
- TSelectStatement: 229 assertions passed 51us
- TSynMonitorUsage: 1,202 assertions passed 57us
Total failed: 0 / 785,262 - Core process PASSED 164.40ms
1.3. Core collections:
- IList: 6,944,142 assertions passed 762.85ms
500000 IList<Byte> in 1.78ms i.e. 266.9M/s, aver. 3ns
500000 IList<Word> in 1.94ms i.e. 245.4M/s, aver. 3ns
500000 IList<Integer> in 2ms i.e. 237.8M/s, aver. 4ns
500000 IList<Cardinal> in 1.97ms i.e. 240.9M/s, aver. 3ns
500000 IList<Int64> in 2.41ms i.e. 197.6M/s, aver. 4ns
500000 IList<QWord> in 2.31ms i.e. 205.6M/s, aver. 4ns
500000 IList<Single> in 1.98ms i.e. 240.8M/s, aver. 3ns
500000 IList<Double> in 2.21ms i.e. 215.3M/s, aver. 4ns
500000 IList<TDateTime> in 2.22ms i.e. 214.2M/s, aver. 4ns
500000 IList<UTF8String> in 16.81ms i.e. 28.3M/s, aver. 33ns
500000 IList<UnicodeString> in 12.46ms i.e. 38.2M/s, aver. 24ns
500000 IList<Variant> in 11.72ms i.e. 40.6M/s, aver. 23ns
500000 IList<THash128> in 5.82ms i.e. 81.9M/s, aver. 11ns
500000 IList<TGuid> in 5.31ms i.e. 89.7M/s, aver. 10ns
- IKeyValue: 3,800,050 assertions passed 176.95ms
100000 integer,Int64 add in 5.96ms i.e. 15.9M/s, aver. 59ns
100000 integer,Int64 get in 10.47ms i.e. 9.1M/s, aver. 104ns
100000 RawUtf8,double add in 10.64ms i.e. 8.9M/s, aver. 106ns
100000 RawUtf8,double get in 3.69ms i.e. 25.8M/s, aver. 36ns
100000 integer,Int64 capa add in 3.90ms i.e. 24.4M/s, aver. 39ns
100000 integer,Int64 capa get in 1.91ms i.e. 49.8M/s, aver. 19ns
100000 RawUtf8,double capa add in 7.49ms i.e. 12.7M/s, aver. 74ns
100000 RawUtf8,double capa get in 2.29ms i.e. 41.6M/s, aver. 22ns
Total failed: 0 / 10,744,192 - Core collections PASSED 940.47ms
1.4. Core crypto:
- MD5: 166 assertions passed 228us
- SHA1: 8 assertions passed 10.90ms
- SHA256: 20 assertions passed 30.94ms
- SHA512: 32 assertions passed 45.50ms
- SHA3: 8,225 assertions passed 37.31ms
- AES: 72,700 assertions passed 268.45ms
- AES_GCM: 215 assertions passed 43us
- RC4: 1,016 assertions passed 8.72ms
- Hashes: 21 assertions passed 496.56ms
- Base64: 26,064 assertions passed 207.84ms
encoding in 61.06ms, 1.6 GB/s
decoding in 103.25ms, 0.9 GB/s
- TAesPNRG: 362,626 assertions passed 280.87ms
100000 mORMot Random32 in 1.23ms i.e. 77.5M/s, aver. 12ns, 310.1 MB/s
mORMot FillRandom in 23us, 4 GB/s
100000 OpenSSL Random32 in 167.25ms i.e. 583.8K/s, aver. 1.67us, 2.2 MB/s
OpenSSL FillRandom in 62us, 1.5 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.95ms
2000 AES-CFB in 2.78ms i.e. 701.5K/s, aver. 1.39us, 374.5 MB/s
- JWT: 164,918 assertions passed 667.98ms
1000 HS256 in 573us i.e. 1.6M/s, aver. 573ns
1000 HS384 in 2.39ms i.e. 408K/s, aver. 2.39us
1000 HS512 in 1.82ms i.e. 534.2K/s, aver. 1.82us
1000 S3224 in 931us i.e. 1M/s, aver. 931ns
1000 S3256 in 821us i.e. 1.1M/s, aver. 821ns
1000 S3384 in 816us i.e. 1.1M/s, aver. 816ns
1000 S3512 in 815us i.e. 1.1M/s, aver. 815ns
1000 S3S128 in 803us i.e. 1.1M/s, aver. 803ns
1000 S3S256 in 822us i.e. 1.1M/s, aver. 822ns
100 ES256 in 5.30ms i.e. 18.3K/s, aver. 53us
100 RS256 in 2.37ms i.e. 41K/s, aver. 23us
100 RS384 in 2.37ms i.e. 41.2K/s, aver. 23us
100 RS512 in 2.34ms i.e. 41.7K/s, aver. 23us
100 PS256 in 2.38ms i.e. 40.8K/s, aver. 23us
100 PS384 in 2.47ms i.e. 39.5K/s, aver. 24us
100 PS512 in 2.44ms i.e. 39.9K/s, aver. 24us
100 ES256 in 6.53ms i.e. 14.9K/s, aver. 65us
100 ES384 in 51.04ms i.e. 1.9K/s, aver. 510us
100 ES512 in 213.84ms i.e. 467/s, aver. 2.13ms
100 ES256K in 41.42ms i.e. 2.3K/s, aver. 414us
100 EdDSA in 8.61ms i.e. 11.3K/s, aver. 86us
- TBinaryCookieGenerator: 82,944 assertions passed 4.85ms
16384 generate in 2.28ms i.e. 6.8M/s, aver. 139ns
16384 validate in 746us i.e. 20.9M/s, aver. 45ns
- Catalog: 2,943 assertions passed 1.18s
- Benchmark: 107,500 assertions passed 568.82ms
2500 crc32c in 653us i.e. 3.6M/s or 7.9 GB/s
2500 xxhash32 in 856us i.e. 2.7M/s or 6 GB/s
2500 crc32 in 652us i.e. 3.6M/s or 7.9 GB/s
2500 adler32 in 209us i.e. 11.4M/s or 24.8 GB/s
2500 hash32 in 480us i.e. 4.9M/s or 10.8 GB/s
2500 md5 in 11.68ms i.e. 208.8K/s or 455.1 MB/s
2500 sha1 in 32.95ms i.e. 74K/s or 161.4 MB/s
2500 hmacsha1 in 41.19ms i.e. 59.2K/s or 129.1 MB/s
2500 sha256 in 2.72ms i.e. 896.5K/s or 1.9 GB/s
2500 hmacsha256 in 11.11ms i.e. 219.5K/s or 478.5 MB/s
2500 sha384 in 35.72ms i.e. 68.3K/s or 148.9 MB/s
2500 hmacsha384 in 48.64ms i.e. 50.1K/s or 109.3 MB/s
2500 sha512 in 27.60ms i.e. 88.4K/s or 192.7 MB/s
2500 hmacsha512 in 42.24ms i.e. 57.8K/s or 125.9 MB/s
2500 sha3_256 in 40.75ms i.e. 59.9K/s or 130.5 MB/s
2500 sha3_512 in 73.56ms i.e. 33.1K/s or 72.3 MB/s
2500 rc4 in 11.91ms i.e. 204.8K/s or 446.4 MB/s
2500 mormot aes-128-cfb in 7.62ms i.e. 320.3K/s or 698.1 MB/s
2500 mormot aes-128-ofb in 16.49ms i.e. 148K/s or 322.6 MB/s
2500 mormot aes-128-c64 in 1.51ms i.e. 1.5M/s or 3.4 GB/s
2500 mormot aes-128-ctr in 1.47ms i.e. 1.6M/s or 3.5 GB/s
2500 mormot aes-128-cfc in 15.95ms i.e. 153K/s or 333.4 MB/s
2500 mormot aes-128-ofc in 13.07ms i.e. 186.7K/s or 406.9 MB/s
2500 mormot aes-128-ctc in 3.45ms i.e. 706.8K/s or 1.5 GB/s
2500 mormot aes-128-gcm in 5.32ms i.e. 458.2K/s or 0.9 GB/s
2500 mormot aes-256-cfb in 17.02ms i.e. 143.3K/s or 312.4 MB/s
2500 mormot aes-256-ofb in 13.84ms i.e. 176.2K/s or 384.1 MB/s
2500 mormot aes-256-c64 in 2.49ms i.e. 0.9M/s or 2 GB/s
2500 mormot aes-256-ctr in 1.85ms i.e. 1.2M/s or 2.7 GB/s
2500 mormot aes-256-cfc in 8.94ms i.e. 272.8K/s or 594.6 MB/s
2500 mormot aes-256-ofc in 6.52ms i.e. 373.9K/s or 814.9 MB/s
2500 mormot aes-256-ctc in 3.96ms i.e. 615.2K/s or 1.3 GB/s
2500 mormot aes-256-gcm in 5.57ms i.e. 437.6K/s or 0.9 GB/s
2500 openssl aes-128-cfb in 5.80ms i.e. 420.5K/s or 916.5 MB/s
2500 openssl aes-128-ofb in 5.01ms i.e. 486.9K/s or 1 GB/s
2500 openssl aes-128-ctr in 910us i.e. 2.6M/s or 5.7 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 7.26ms i.e. 335.9K/s or 732.1 MB/s
2500 openssl aes-256-ofb in 6.42ms i.e. 380.1K/s or 828.3 MB/s
2500 openssl aes-256-ctr in 1.13ms i.e. 2.1M/s or 4.5 GB/s
2500 openssl aes-256-gcm in 2.13ms i.e. 1.1M/s or 2.4 GB/s
2500 shake128 in 13.35ms i.e. 182.8K/s or 398.5 MB/s
2500 shake256 in 16.28ms i.e. 149.9K/s or 326.6 MB/s
Total failed: 0 / 834,398 - Core crypto PASSED 3.82s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 4.02ms
- ECC: 2,104 assertions passed 468.50ms
300 Ecc256r1MakeKey in 3.55ms i.e. 82.3K/s, aver. 11us
300 Ecc256r1Uncompress in 33.72ms i.e. 8.6K/s, aver. 112us
300 Ecc256r1Sign in 5.62ms i.e. 52.1K/s, aver. 18us
300 Ecc256r1Verify in 20.11ms i.e. 14.5K/s, aver. 67us
300 Ecc256r1VerifyUncomp in 355.04ms i.e. 844/s, aver. 1.18ms
598 Ecc256r1SharedSecret in 46.71ms i.e. 12.5K/s, aver. 78us
- Certificates and signatures: 106 assertions passed 3.88ms
- Ecc command line tool: 704 assertions passed 77.42ms
- ECDHE stream protocol: 63,393 assertions passed 931.79ms
100 efAesCrc128 in 7.12ms i.e. 13.7K/s, aver. 71us, 357.4 MB/s
100 efAesCfb128 in 3ms i.e. 32.5K/s, aver. 30us, 848.4 MB/s
100 efAesOfb128 in 2.76ms i.e. 35.3K/s, aver. 27us, 0.9 GB/s
100 efAesCtr128 in 809us i.e. 120.7K/s, aver. 8.09us, 3 GB/s
100 efAesCbc128 in 1.54ms i.e. 63K/s, aver. 15us, 1.6 GB/s
100 efAesCrc256 in 3.62ms i.e. 26.9K/s, aver. 36us, 702.4 MB/s
100 efAesCfb256 in 11.70ms i.e. 8.3K/s, aver. 117us, 217.7 MB/s
100 efAesOfb256 in 16.41ms i.e. 5.9K/s, aver. 164us, 155.2 MB/s
100 efAesCtr256 in 8.91ms i.e. 10.9K/s, aver. 89us, 285.8 MB/s
100 efAesCbc256 in 1.96ms i.e. 49.5K/s, aver. 19us, 1.2 GB/s
100 efAesGcm128 in 846us i.e. 115.4K/s, aver. 8.46us, 2.9 GB/s
100 efAesGcm256 in 958us i.e. 101.9K/s, aver. 9.58us, 2.5 GB/s
100 efAesCtc128 in 1.63ms i.e. 59.5K/s, aver. 16us, 1.5 GB/s
100 efAesCtc256 in 1.87ms i.e. 51.9K/s, aver. 18us, 1.3 GB/s
- OpenSSL: 532 assertions passed 585.27ms
3 RSA 2048 Generation in 279.24ms i.e. 10/s, aver. 93.08ms
30 RSA 2048 Sign in 24.74ms i.e. 1.1K/s, aver. 824us
30 RSA 2048 Verify in 699us i.e. 41.9K/s, aver. 23us
3 RSA-PSS 2048 Generation in 223.65ms i.e. 13/s, aver. 74.55ms
30 RSA-PSS 2048 Sign in 24.72ms i.e. 1.1K/s, aver. 824us
30 RSA-PSS 2048 Verify in 700us i.e. 41.8K/s, aver. 23us
100 prime256v1 Generation in 3.80ms i.e. 25.6K/s, aver. 38us
100 prime256v1 Sign in 2.88ms i.e. 33.8K/s, aver. 28us
100 prime256v1 Verify in 6.41ms i.e. 15.2K/s, aver. 64us
100 ed25519 Generation in 3.38ms i.e. 28.8K/s, aver. 33us
100 ed25519 Sign in 6.16ms i.e. 15.8K/s, aver. 61us
100 ed25519 Verify in 8.56ms i.e. 11.4K/s, aver. 85us
Total failed: 0 / 66,862 - Core ecc PASSED 2.07s
1.6. Core compression:
- In memory compression: 21 assertions passed 300.76ms
- GZIP format: 30 assertions passed 108.18ms
- ZIP format: 872 assertions passed 1.06s
- SynLZ: 14,877 assertions passed 100.62ms
- TAlgoCompress: 1,218 assertions passed 498.06ms
TAlgoSynLZ 3.8 MB->2 MB: comp 339.6MB/s decomp 663.2MB/s
TAlgoRleLZ 3.8 MB->2 MB: comp 161.8MB/s decomp 650.4MB/s
TAlgoRle 3.8 MB->3.7 MB: comp 659.1MB/s decomp 15.2GB/s
TAlgoLizard 3.8 MB->1.9 MB: comp 54.6MB/s decomp 3.4GB/s
TAlgoLizardFast 3.8 MB->2.2 MB: comp 246MB/s decomp 4.2GB/s
TAlgoLizardHuffman 3.8 MB->1.8 MB: comp 86.4MB/s decomp 1.2GB/s
TAlgoDeflate 3.8 MB->1.5 MB: comp 26.2MB/s decomp 128MB/s
TAlgoDeflateFast 3.8 MB->1.6 MB: comp 45.9MB/s decomp 129.1MB/s
Total failed: 0 / 17,018 - Core compression PASSED 2.07s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 258.69ms
- Rtsp over http buffered write: 1,900 assertions passed 231.38ms
Total failed: 0 / 3,800 - Network protocols PASSED 490.15ms
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 211us
- TOrmSigned: 200 assertions passed 447us
- TOrmModel: 49 assertions passed 40us
#10049 #10050 #10051 #10053 id=0=1 #10054 #10055 #10058 #10
#400025 #400027 id=0=3550 #400028 #400029 #400032 #400033 #400034 #400036 var1 #400037 var2 #400040 #400042 ! Orm core - TRestServerFullMemory
! Exception EDocVariant raised with messsage:
! DocVariantType.Data(1<>TDocVariant)
Total failed: 269,995 / 400,384 - Orm core FAILED 5.55s
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 70.33ms
- Virtual table direct access: 12 assertions passed 349us
- TOrmTableJson: 149,089 assertions passed 71.58ms
! Sqlite file - TRestClientDB
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_ERROR (1) [Step] using 3.37.2 - TRestStorageInMemoryExternal.LoadFromJson: found 0 duplicate TOrmDali1 in ID. field, extended_errcode=1
! Sqlite file - Regexp function
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_NOTADB (26) [DBOpen] using 3.37.2 with aDB=nil
- TRecordVersion: 20,060 assertions passed 37.23ms
Total failed: 0 / 191,476 - Sqlite file PASSED 190.30ms
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 70.15ms
- Virtual table direct access: 12 assertions passed 148us
- TOrmTableJson: 149,089 assertions passed 65.62ms
! Sqlite file WAL - TRestClientDB
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_ERROR (1) [Step] using 3.37.2 - TRestStorageInMemoryExternal.LoadFromJson: found 0 duplicate TOrmDali1 in ID. fieldA�, extended_errcode=1
! Sqlite file WAL - Regexp function
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_NOTADB (26) [DBOpen] using 3.37.2 with aDB=nil
- TRecordVersion: 20,060 assertions passed 20.51ms
Total failed: 0 / 191,476 - Sqlite file WAL PASSED 158.80ms
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 30.09ms
- Virtual table direct access: 12 assertions passed 340us
- TOrmTableJson: 149,089 assertions passed 36.72ms
! Sqlite file memory map - TRestClientDB
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_ERROR (1) [Step] using 3.37.2 - TRestStorageInMemoryExternal.LoadFromJson: found 0 duplicate TOrmDali1 in ID. fieldhin, extended_errcode=1
- Regexp function: 6,015 assertions passed 5.97ms
- TRecordVersion: 20,060 assertions passed 33.71ms
Total failed: 0 / 197,471 - Sqlite file memory map PASSED 108.43ms
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 39.99ms
- Virtual table direct access: 12 assertions passed 203us
- TOrmTableJson: 149,089 assertions passed 44.10ms
! Sqlite memory - TRestClientDB
! Exception ERestStorage raised with messsage:
! TRestStorageInMemory.LoadFromJson: found 0 duplicate TOrmPeople in ID. field
- Regexp function: 6,015 assertions passed 5.79ms
- TRecordVersion: 20,060 assertions passed 50.49ms
- TOrmTableWritable: 24,086 assertions passed 2.87ms
- RTree: 280,024 assertions passed 407.86ms
10000 With RTree in 232.50ms i.e. 42K/s, aver. 23us
10000 With RTreeInteger in 174.40ms i.e. 55.9K/s, aver. 17us
- Shard write: 10,602 assertions passed 93.55ms
- Shard read: 140,001 assertions passed 54.82ms
- Shard read after purge: 114,003 assertions passed 50.90ms
- MaxShardCount: 144,002 assertions passed 112ms
Total failed: 0 / 1,470,306 - Sqlite memory PASSED 1.42s
2.6. External database:
- SynDBRemote: 28,471 assertions passed 67.93ms
- DB properties persistence: 7 assertions passed 137us
- External records: 2 assertions passed 161us
- Auto adapt SQL: 1,041 assertions passed 929us
- Crypted database: 253,277 assertions passed 64.63ms
#5632 10911<>10912 bsn #149417 #149418 ! - External via REST: 3 / 170,380 FAILED 403.64ms
#5632 10911<>10912 bsn #149417 #149418 ! - External via virtual table: 3 / 170,380 FAILED 517.33ms
#5633 10911<>10912 bsn #149418 #149419 #170387 #170388 #170391 #170392 #170397 …
#180422 #180426 #180432 #180436 #180442 #180446 #180452 #180456 #180462 #180466 #180472 #180476 ! - External via REST with change tracking: 2,033 / 180,480 FAILED 920.82ms
Total failed: 2,039 / 804,038 - External database FAILED 1.97s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 19.66ms
using THttpAsyncServer Ubuntu 5.13.0 epoll
#4 Hash32()=$9A2516AA expected=$F11CEAC0 ! - TRestHttpClient: 1 / 4 FAILED 8.87ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 43.89ms
4.7 KB, first 660us, done 41.61ms i.e. 24032/s, aver. 41us, 110.5 MB/s
- HTTP client multi connect: 4,088 assertions passed 90.64ms
4.7 KB, first 94us, done 88.11ms i.e. 11348/s, aver. 88us, 52.1 MB/s
- Direct in process access: 4,057 assertions passed 17.67ms
4.7 KB, first 18us, done 16.60ms i.e. 60222/s, aver. 16us, 276.9 MB/s
- HTTP several DB servers: 12,607 assertions passed 217.41ms
4.7 KB, first 91us, done 41.45ms i.e. 24123/s, aver. 41us, 110.9 MB/s
4.7 KB, first 71us, done 25.57ms i.e. 39100/s, aver. 25us, 179.8 MB/s
4.7 KB, first 72us, done 23.72ms i.e. 42144/s, aver. 23us, 193.8 MB/s
Total failed: 1 / 24,846 - Client server access FAILED 799.80ms
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 462us
- TRestServerDB: 8,422 assertions passed 53.03ms
1=45814/s 2=166746/s 5=177439/s 10=146168/s 30=39608/s 50=139497/s
- TRestClientDB: 8,422 assertions passed 55.92ms
1=39702/s 2=140421/s 5=100908/s 10=88372/s 30=87895/s 50=81986/s
- TCP sockets: 8,422 assertions passed 593.80ms
1=18798/s 2=13659/s 5=26590/s 10=32917/s 30=25900/s 50=35849/s
- Unix domain sockets: 8,422 assertions passed 546.90ms
1=27946/s 2=35551/s 5=30743/s 10=24773/s 30=35634/s 50=37287/s
- Websockets: 8,421 assertions passed 360.58ms
1=10756/s 2=19329/s 5=26856/s 10=24093/s 30=14785/s 50=15247/s
- Locked: 8,422 assertions passed 42.08ms
1=135737/s 2=65494/s 5=135056/s 10=133485/s 30=110149/s 50=93085/s
- Unlocked: 8,420 assertions passed 36.71ms
1=147027/s 2=98342/s 5=138067/s 10=133105/s 30=125089/s 50=98884/s
- Main thread: 8,422 assertions passed 76.48ms
1=106480/s 2=34030/s 5=42401/s 10=111856/s 30=43427/s 50=82722/s
- Background thread: 8,422 assertions passed 74.81ms
1=109580/s 2=85921/s 5=90020/s 10=57918/s 30=29214/s 50=48506/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 75,796 - Multi thread process PASSED 2s
3. SOA
3.1. Service oriented architecture:
- Weak interfaces: 56 assertions passed 95us
- Service initialization: 268 assertions passed 3.32ms
- Direct call: 1,379,310 assertions passed 23.60ms
- Server side: 1,379,330 assertions passed 25.93ms
- Client side REST: 1,839,107 assertions passed 460.51ms
- Client side REST as json object: 1,839,101 assertions passed 312.10ms
- Client side REST sessions stats: 1,839,101 assertions passed 397.67ms
- Client side REST locked: 1,839,105 assertions passed 599.62ms
- Client side REST main thread: 1,839,105 assertions passed 1.60s
- Client side REST background thread: 1,839,105 assertions passed 1.19s
- Client side REST sign with crc 32c: 1,839,101 assertions passed 357.31ms
- Client side REST sign with xxhash: 1,839,101 assertions passed 368.64ms
- Client side REST sign with md 5: 1,839,101 assertions passed 325.82ms
- Client side REST sign with sha 256: 1,839,101 assertions passed 340.16ms
- Client side REST sign with sha 512: 1,839,101 assertions passed 392.48ms
- Client side REST weak authentication: 1,839,101 assertions passed 316.36ms
- Client side REST basic authentication: 1,839,101 assertions passed 441.02ms
- Client side REST custom record layout: 1,839,101 assertions passed 347.16ms
- Client side REST service log to DB: 1,839,101 assertions passed 629.89ms
- Client side json RPC: 1,839,101 assertions passed 545.87ms
- Test over HTTP: 17,769 assertions passed 619.50ms
#1 #2 #3 ! Service oriented architecture - Security
! Exception EAccessViolation raised with messsage:
! Access violation
- Mocks and stubs: 30,030 assertions passed 42.75ms
Total failed: 3 / 32,232,400 - Service oriented architecture FAILED 9.35s
3.2. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 11.08ms
- Run http server: 2 assertions passed 8.57ms
- Soa callback on server side: 4,580 assertions passed 856us
- Soa callback via json websockets: 6,898 assertions passed 164.33ms
- Soa callback via binary websockets: 6,898 assertions passed 150.71ms
- Relay start: 4 assertions passed 36.68ms
- Relay soa callback via json websockets: 6,899 assertions passed 267.73ms
- Relay connection recreate: 1 assertion passed 17.64ms
- Relay soa callback via binary websockets: 6,899 assertions passed 371.73ms
- Relay shutdown: 2 assertions passed 123.80ms
- TRecordVersion: 20,068 assertions passed 79.28ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 1.34s
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: 36.92s
Performed 2022-02-06 09:00:42 by parallels on ubuntu-linux-20-04-desktop
Total assertions failed for all test suits: 272,038 / 68,365,064
! Some tests FAILED: please correct the code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment