Skip to content

Instantly share code, notes, and snippets.

@synopse
Created August 17, 2021 14:07
Show Gist options
  • Save synopse/0e7275684a2e2bbd2206940c3827055c to your computer and use it in GitHub Desktop.
Save synopse/0e7275684a2e2bbd2206940c3827055c to your computer and use it in GitHub Desktop.
mORMot 2 regression tests on Oracle Cloud Ampere CPU
ubuntu@lxde:/tmp$ ./mormot2tests
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 35us
- TRawUtf8List: 190,172 assertions passed 71.37ms
- TDynArray: 1,091,804 assertions passed 195.71ms
- TDynArrayHashed: 1,599,070 assertions passed 836.20ms
- TSynDictionary: 283,050 assertions passed 623.45ms
- TSynQueue: 6,541,501 assertions passed 251.82ms
- TSynNameValue: 40,032 assertions passed 10.07ms
- TRawUtf8Interning: 2,000,013 assertions passed 155.02ms
500000 interning 16 KB in 36.78ms i.e. 12.9M/s, aver. 73ns, 414.7 MB/s
500000 direct 15.2 MB in 26.57ms i.e. 17.9M/s, aver. 53ns, 574.2 MB/s
- TObjArray: 3,230 assertions passed 1.13ms
- Custom RTL: 77,552 assertions passed 593.40ms
FillChar in 19.06ms, 20.3 GB/s
Move in 9.95ms, 1.5 GB/s
small Move in 15.85ms, 1.3 GB/s
big Move in 222.41ms, 1.7 GB/s
FillCharFast in 8.84ms, 43.9 GB/s
MoveFast in 1.25ms, 12.4 GB/s
small MoveFast in 4.98ms, 4.3 GB/s
big MoveFast in 34.32ms, 11.3 GB/s
- Fast string compare: 41 assertions passed 11us
- IdemPropName: 228 assertions passed 37us
- Url encoding: 167 assertions passed 635us
- GUID: 10,019 assertions passed 4.82ms
- ParseCommandArguments: 232 assertions passed 24us
- IsMatch: 4,250 assertions passed 492us
- TExprParserMatch: 140 assertions passed 171us
- Soundex: 35 assertions passed 14us
- Numerical conversions: 2,543,109 assertions passed 370.76ms
100000 FloatToText in 46.65ms i.e. 2M/s, aver. 466ns, 38.8 MB/s
100000 str in 18.66ms i.e. 5.1M/s, aver. 186ns, 122.6 MB/s
100000 DoubleToShort in 12.29ms i.e. 7.7M/s, aver. 122ns, 162.9 MB/s
100000 DoubleToAscii in 11.70ms i.e. 8.1M/s, aver. 117ns, 172.8 MB/s
- Integers: 144,965 assertions passed 35.59ms
- crc32c: 310,089 assertions passed 72.10ms
pas 402.2 MB/s fast 851.2 MB/s armv8 13.8 GB/s
- Random32: 221,003 assertions passed 3.22ms
240000 Random32 in 3.14ms i.e. 72.7M/s, aver. 13ns, 290.8 MB/s
- Bloom filters: 2,010,072 assertions passed 164.49ms
- DeltaCompress: 87 assertions passed 5.64ms
- Curr 64: 20,056 assertions passed 1.58ms
- CamelCase: 11 assertions passed 13us
- Bits: 15,567 assertions passed 26.30ms
- Ini files: 7,028 assertions passed 32.97ms
- UTF8: 1,386,104 assertions passed 991.26ms
- Url decoding: 1,101 assertions passed 137us
- Mime types: 438 assertions passed 942us
- Baudot code: 10,007 assertions passed 34.57ms
- Iso 8601 date and time: 200,831 assertions passed 8.05ms
- Time zones: 449 assertions passed 200.20ms
- Quick select: 4,015 assertions passed 83.21ms
- TSynCache: 404 assertions passed 79us
- TSynFilter: 804 assertions passed 1.46ms
- TSynValidate: 677 assertions passed 438us
- TSynLogFile: 43 assertions passed 379us
- TSynUniqueIdentifier: 1,300,002 assertions passed 400.65ms
200000 ComputeNew in 9.69ms i.e. 19.6M/s, aver. 48ns
Total failed: 0 / 20,019,141 - Core base PASSED 5.17s
1.2. Core process:
- RTTI: 1,338 assertions passed 398us
- Url encoding: 200 assertions passed 340us
- Encode decode JSON: 432,266 assertions passed 107.63ms
- JSON benchmark: 100,355 assertions passed 1.51s
StrLen() in 1.43ms, 13.3 GB/s
IsValidUtf8(RawUtf8) in 11.75ms, 1.6 GB/s
IsValidUtf8(PUtf8Char) in 13.08ms, 1.4 GB/s
IsValidJson(RawUtf8) in 22.84ms, 858.2 MB/s
IsValidJson(PUtf8Char) in 22.93ms, 854.7 MB/s
JsonArrayCount(P) in 22.97ms, 853.1 MB/s
JsonArrayCount(P,PMax) in 22.89ms, 856.4 MB/s
JsonObjectPropCount() in 11.90ms, 0.9 GB/s
jsonUnquotedPropNameCompact in 72.35ms, 240.6 MB/s
jsonHumanReadable in 119.06ms, 209.4 MB/s
TDocVariant in 245.99ms, 79.7 MB/s
TDocVariant no guess in 260.57ms, 75.2 MB/s
TDocVariant dvoInternNames in 247.56ms, 79.1 MB/s
TOrmTableJson GetJsonValues in 34.88ms, 247.1 MB/s
TOrmTableJson expanded in 42.70ms, 459 MB/s
TOrmTableJson not expanded in 21.42ms, 402.4 MB/s
DynArrayLoadJson in 87.96ms, 222.8 MB/s
TOrmPeopleObjArray in 131.10ms, 149.5 MB/s
fpjson in 115.09ms, 17 MB/s
- Wiki markdown to html: 56 assertions passed 59us
- Variants: 108 assertions passed 49us
- Mustache renderer: 166 assertions passed 906us
- TDocVariant: 91,833 assertions passed 100.75ms
- TDecimal128: 17,446 assertions passed 1.77ms
- BSON: 245,070 assertions passed 3.97ms
100000 TBsonObjectID.ComputeNew in 3.43ms i.e. 27.7M/s, aver. 34ns
- TSelectStatement: 229 assertions passed 149us
- TSynMonitorUsage: 1,202 assertions passed 77us
Total failed: 0 / 890,269 - Core process PASSED 1.72s
1.3. Core collections:
- IList: 6,920,086 assertions passed 859.40ms
400000 IList<Byte> in 5.97ms i.e. 63.9M/s, aver. 14ns
400000 IList<Word> in 6.23ms i.e. 61.2M/s, aver. 15ns
400000 IList<Integer> in 6.59ms i.e. 57.8M/s, aver. 16ns
400000 IList<Cardinal> in 6.60ms i.e. 57.7M/s, aver. 16ns
400000 IList<Int64> in 8.11ms i.e. 47M/s, aver. 20ns
400000 IList<QWord> in 8.05ms i.e. 47.3M/s, aver. 20ns
400000 IList<Single> in 6.10ms i.e. 62.4M/s, aver. 15ns
400000 IList<Double> in 6.09ms i.e. 62.5M/s, aver. 15ns
400000 IList<TDateTime> in 6.11ms i.e. 62.4M/s, aver. 15ns
400000 IList<UTF8String> in 26.88ms i.e. 14.1M/s, aver. 67ns
400000 IList<UnicodeString> in 28.02ms i.e. 13.6M/s, aver. 70ns
400000 IList<Variant> in 24.48ms i.e. 15.5M/s, aver. 61ns
400000 IList<THash128> in 12.97ms i.e. 29.4M/s, aver. 32ns
400000 IList<TGuid> in 13.32ms i.e. 28.6M/s, aver. 33ns
Total failed: 0 / 6,920,086 - Core collections PASSED 859.43ms
1.4. Core crypto:
- MD5: 166 assertions passed 259us
- SHA1: 8 assertions passed 3.42ms
- SHA256: 20 assertions passed 17.71ms
- SHA512: 32 assertions passed 38.54ms
- SHA3: 8,225 assertions passed 37.62ms
- AES: 72,700 assertions passed 178.63ms
- AES_GCM: 215 assertions passed 65us
- RC4: 1,016 assertions passed 1.58ms
- Hashes: 21 assertions passed 313.99ms
- Base64: 12,064 assertions passed 22.50ms
- CompressShaAes: 1,683 assertions passed 1.91ms
- TAesPNRG: 262,624 assertions passed 224.42ms
100000 mORMot Random32 in 2.97ms i.e. 32M/s, aver. 29ns, 128 MB/s
mORMot FillRandom in 88us, 1 GB/s
100000 OpenSSL Random32 in 125.90ms i.e. 775.6K/s, aver. 1.25us, 3 MB/s
OpenSSL FillRandom in 117us, 815.1 MB/s
- CryptDataForCurrentUser: 5,000 assertions passed 4.48ms
2000 AES-CFB in 4.39ms i.e. 444.9K/s, aver. 2.19us, 237.5 MB/s
- JWT: 164,918 assertions passed 1.55s
1000 HS256 in 1.06ms i.e. 920.4K/s, aver. 1.06us
1000 HS384 in 2.73ms i.e. 356.8K/s, aver. 2.73us
1000 HS512 in 2.76ms i.e. 352.8K/s, aver. 2.76us
1000 S3224 in 1.69ms i.e. 576.1K/s, aver. 1.69us
1000 S3256 in 1.71ms i.e. 571K/s, aver. 1.71us
1000 S3384 in 1.71ms i.e. 570.7K/s, aver. 1.71us
1000 S3512 in 1.73ms i.e. 564.1K/s, aver. 1.73us
1000 S3S128 in 1.71ms i.e. 568.4K/s, aver. 1.71us
1000 S3S256 in 1.74ms i.e. 561.2K/s, aver. 1.74us
100 ES256 in 18.80ms i.e. 5.1K/s, aver. 188us
100 RS256 in 9.88ms i.e. 9.8K/s, aver. 98us
100 RS384 in 9.91ms i.e. 9.8K/s, aver. 99us
100 RS512 in 9.92ms i.e. 9.8K/s, aver. 99us
100 PS256 in 9.90ms i.e. 9.8K/s, aver. 99us
100 PS384 in 10.12ms i.e. 9.6K/s, aver. 101us
100 PS512 in 10.05ms i.e. 9.7K/s, aver. 100us
100 ES256 in 17.60ms i.e. 5.5K/s, aver. 176us
100 ES384 in 146.88ms i.e. 680/s, aver. 1.46ms
100 ES512 in 383.64ms i.e. 260/s, aver. 3.83ms
100 ES256K in 58.79ms i.e. 1.6K/s, aver. 587us
100 EdDSA in 12.58ms i.e. 7.7K/s, aver. 125us
- TBinaryCookieGenerator: 82,944 assertions passed 8.71ms
16384 generate in 3.09ms i.e. 5M/s, aver. 188ns
16384 validate in 1.58ms i.e. 9.8M/s, aver. 96ns
- Catalog: 210 assertions passed 46us
- Benchmark: 107,500 assertions passed 505.15ms
2500 crc32c in 259us i.e. 9.2M/s or 20 GB/s
2500 xxhash32 in 1.47ms i.e. 1.6M/s or 3.5 GB/s
2500 crc32 in 259us i.e. 9.2M/s or 20 GB/s
2500 adler32 in 469us i.e. 5M/s or 11 GB/s
2500 hash32 in 584us i.e. 4M/s or 8.9 GB/s
2500 md5 in 12.12ms i.e. 201.3K/s or 438.7 MB/s
2500 sha1 in 21.75ms i.e. 112.2K/s or 244.5 MB/s
2500 hmacsha1 in 23.81ms i.e. 102.5K/s or 223.4 MB/s
2500 sha256 in 3.41ms i.e. 714.7K/s or 1.5 GB/s
2500 hmacsha256 in 4.12ms i.e. 591.2K/s or 1.2 GB/s
2500 sha384 in 27.71ms i.e. 88K/s or 191.9 MB/s
2500 hmacsha384 in 32.69ms i.e. 74.6K/s or 162.7 MB/s
2500 sha512 in 27.73ms i.e. 88K/s or 191.8 MB/s
2500 hmacsha512 in 32.77ms i.e. 74.4K/s or 162.3 MB/s
2500 sha3_256 in 35.82ms i.e. 68.1K/s or 148.5 MB/s
2500 sha3_512 in 65.48ms i.e. 37.2K/s or 81.2 MB/s
2500 rc4 in 12.98ms i.e. 188K/s or 409.8 MB/s
2500 mormot aes-128-cfb in 8.84ms i.e. 276.1K/s or 601.7 MB/s
2500 mormot aes-128-ofb in 3.78ms i.e. 645K/s or 1.3 GB/s
2500 mormot aes-128-c64 in 4.39ms i.e. 555.6K/s or 1.1 GB/s
2500 mormot aes-128-ctr in 4.52ms i.e. 539.7K/s or 1.1 GB/s
2500 mormot aes-128-cfc in 9.16ms i.e. 266.3K/s or 580.4 MB/s
2500 mormot aes-128-ofc in 5.25ms i.e. 465K/s or 0.9 GB/s
2500 mormot aes-128-ctc in 5.74ms i.e. 425.1K/s or 0.9 GB/s
2500 mormot aes-128-gcm in 7.52ms i.e. 324.5K/s or 707.2 MB/s
2500 mormot aes-256-cfb in 9.52ms i.e. 256.2K/s or 558.4 MB/s
2500 mormot aes-256-ofb in 4.71ms i.e. 517.6K/s or 1.1 GB/s
2500 mormot aes-256-c64 in 5.30ms i.e. 460.5K/s or 0.9 GB/s
2500 mormot aes-256-ctr in 5.33ms i.e. 457.5K/s or 0.9 GB/s
2500 mormot aes-256-cfc in 10.04ms i.e. 243K/s or 529.5 MB/s
2500 mormot aes-256-ofc in 6.11ms i.e. 399K/s or 869.6 MB/s
2500 mormot aes-256-ctc in 6.77ms i.e. 360.4K/s or 785.5 MB/s
2500 mormot aes-256-gcm in 8.38ms i.e. 291.1K/s or 634.4 MB/s
2500 openssl aes-128-cfb in 4.94ms i.e. 493.4K/s or 1 GB/s
2500 openssl aes-128-ofb in 4.12ms i.e. 591.2K/s or 1.2 GB/s
2500 openssl aes-128-ctr in 1.94ms i.e. 1.2M/s or 2.6 GB/s
2500 openssl aes-128-gcm in 3.18ms i.e. 767K/s or 1.6 GB/s
2500 openssl aes-256-cfb in 5.83ms i.e. 418.5K/s or 912.1 MB/s
2500 openssl aes-256-ofb in 5.04ms i.e. 484.1K/s or 1 GB/s
2500 openssl aes-256-ctr in 2.42ms i.e. 0.9M/s or 2.1 GB/s
2500 openssl aes-256-gcm in 3.66ms i.e. 667K/s or 1.4 GB/s
2500 shake128 in 29.63ms i.e. 82.3K/s or 179.5 MB/s
2500 shake256 in 35.07ms i.e. 69.5K/s or 151.6 MB/s
Total failed: 0 / 719,346 - Core crypto PASSED 2.90s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 7.06ms
- ECC: 1,803 assertions passed 172.96ms
300 Ecc256r1MakeKey in 8.55ms i.e. 34.2K/s, aver. 28us
300 Ecc256r1Sign in 13.73ms i.e. 21.3K/s, aver. 45us
300 Ecc256r1Verify in 55.91ms i.e. 5.2K/s, aver. 186us
598 Ecc256r1SharedSecret in 90.32ms i.e. 6.4K/s, aver. 151us
- Certificates and signatures: 91 assertions passed 6.92ms
- Ecc command line tool: 704 assertions passed 72.56ms
- ECDHE stream protocol: 63,393 assertions passed 466.81ms
100 efAesCrc128 in 3.36ms i.e. 29K/s, aver. 33us, 547.7 MB/s
100 efAesCfb128 in 1.60ms i.e. 60.9K/s, aver. 16us, 1.1 GB/s
100 efAesOfb128 in 1.65ms i.e. 59.1K/s, aver. 16us, 1 GB/s
100 efAesCtr128 in 858us i.e. 113.8K/s, aver. 8.58us, 2 GB/s
100 efAesCbc128 in 1ms i.e. 96.7K/s, aver. 10us, 1.7 GB/s
100 efAesCrc256 in 3.68ms i.e. 26.5K/s, aver. 36us, 501 MB/s
100 efAesCfb256 in 1.85ms i.e. 52.5K/s, aver. 18us, 0.9 GB/s
100 efAesOfb256 in 1.97ms i.e. 49.5K/s, aver. 19us, 0.9 GB/s
100 efAesCtr256 in 1.01ms i.e. 96.3K/s, aver. 10us, 1.7 GB/s
100 efAesCbc256 in 1.26ms i.e. 77.1K/s, aver. 12us, 1.4 GB/s
100 efAesGcm128 in 1.02ms i.e. 95.6K/s, aver. 10us, 1.7 GB/s
100 efAesGcm256 in 1.20ms i.e. 81.3K/s, aver. 12us, 1.5 GB/s
100 efAesCtc128 in 2ms i.e. 48.6K/s, aver. 20us, 919.1 MB/s
100 efAesCtc256 in 2.42ms i.e. 40.3K/s, aver. 24us, 761.9 MB/s
- OpenSSL: 532 assertions passed 895.37ms
3 RSA 2048 Generation in 268ms i.e. 11/s, aver. 89.33ms
30 RSA 2048 Sign in 108.70ms i.e. 275/s, aver. 3.62ms
30 RSA 2048 Verify in 2.91ms i.e. 10K/s, aver. 97us
3 RSA-PSS 2048 Generation in 343.18ms i.e. 8/s, aver. 114.39ms
30 RSA-PSS 2048 Sign in 108.70ms i.e. 275/s, aver. 3.62ms
30 RSA-PSS 2048 Verify in 2.92ms i.e. 10K/s, aver. 97us
100 prime256v1 Generation in 8.19ms i.e. 11.9K/s, aver. 81us
100 prime256v1 Sign in 6.90ms i.e. 14.1K/s, aver. 69us
100 prime256v1 Verify in 17.40ms i.e. 5.6K/s, aver. 174us
100 ed25519 Generation in 5.53ms i.e. 17.6K/s, aver. 55us
100 ed25519 Sign in 10.04ms i.e. 9.7K/s, aver. 100us
100 ed25519 Verify in 12.29ms i.e. 7.9K/s, aver. 122us
Total failed: 0 / 66,546 - Core ecc PASSED 1.62s
1.6. Core compression:
- In memory compression: 21 assertions passed 393.43ms
- GZIP format: 30 assertions passed 113.01ms
- ZIP format: 856 assertions passed 1.42s
- SynLZ: 14,175 assertions passed 71.93ms
- TAlgoCompress: 914 assertions passed 599.79ms
TAlgoSynLZ 3.8 MB->2 MB: comp 287:151MB/s decomp 215:409MB/s
TAlgoLizard 3.8 MB->1.9 MB: comp 18:9MB/s decomp 857:1667MB/s
TAlgoLizardFast 3.8 MB->2.3 MB: comp 193:116MB/s decomp 1282:2135MB/s
TAlgoLizardHuffman 3.8 MB->1.8 MB: comp 84:40MB/s decomp 394:827MB/s
TAlgoDeflate 3.8 MB->1.5 MB: comp 30:12MB/s decomp 78:196MB/s
TAlgoDeflateFast 3.8 MB->1.6 MB: comp 48:20MB/s decomp 73:174MB/s
Total failed: 0 / 15,996 - Core compression PASSED 2.60s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 1.21s
Total failed: 0 / 1,900 - Network protocols PASSED 1.21s
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 321us
- TOrmSigned: 200 assertions passed 615us
- TOrmModel: 16 assertions passed 27us
- TRestServerFullMemory: 1,130,745 assertions passed 856.30ms
Total failed: 0 / 1,131,054 - Orm core PASSED 857.31ms
2.2. Sqlite file:
- Database direct access: 22,284 assertions passed 63.25ms
- Virtual table direct access: 12 assertions passed 498us
- TOrmTableJson: 144,083 assertions passed 60.71ms
- TRestClientDB: 608,198 assertions passed 787.42ms
- Regexp function: 6,015 assertions passed 11.23ms
- TRecordVersion: 20,060 assertions passed 51.12ms
Total failed: 0 / 800,652 - Sqlite file PASSED 974.32ms
2.3. Sqlite file WAL:
- Database direct access: 22,284 assertions passed 64.29ms
- Virtual table direct access: 12 assertions passed 357us
- TOrmTableJson: 144,083 assertions passed 60.22ms
- TRestClientDB: 608,198 assertions passed 794.85ms
- Regexp function: 6,015 assertions passed 11.19ms
- TRecordVersion: 20,060 assertions passed 51.02ms
Total failed: 0 / 800,652 - Sqlite file WAL PASSED 982.03ms
2.4. Sqlite file memory map:
- Database direct access: 22,264 assertions passed 55.40ms
- Virtual table direct access: 12 assertions passed 347us
- TOrmTableJson: 144,083 assertions passed 60.25ms
- TRestClientDB: 608,196 assertions passed 783.02ms
- Regexp function: 6,015 assertions passed 11.07ms
- TRecordVersion: 20,060 assertions passed 51.28ms
Total failed: 0 / 800,630 - Sqlite file memory map PASSED 961.45ms
2.5. Sqlite memory:
- Database direct access: 22,264 assertions passed 54.20ms
- Virtual table direct access: 12 assertions passed 303us
- TOrmTableJson: 144,083 assertions passed 59.53ms
- TRestClientDB: 676,505 assertions passed 1.26s
- Regexp function: 6,015 assertions passed 11.15ms
- TRecordVersion: 20,060 assertions passed 50.87ms
- TOrmTableWritable: 24,056 assertions passed 3.28ms
- RTree: 280,024 assertions passed 1.01s
10000 With RTree in 514.19ms i.e. 18.9K/s, aver. 51us
10000 With RTreeInteger in 496.87ms i.e. 19.6K/s, aver. 49us
- Shard write: 10,602 assertions passed 116.65ms
- Shard read: 140,001 assertions passed 187.05ms
- Shard read after purge: 114,003 assertions passed 149.98ms
- MaxShardCount: 144,002 assertions passed 163.18ms
Total failed: 0 / 1,581,627 - Sqlite memory PASSED 3.07s
2.6. External database:
- SynDBRemote: 28,471 assertions passed 94.60ms
- DB properties persistence: 7 assertions passed 305us
- External records: 2 assertions passed 252us
- Auto adapt SQL: 1,041 assertions passed 1.71ms
- Crypted database: 253,277 assertions passed 107.96ms
- External via REST: 170,355 assertions passed 607.94ms
- External via virtual table: 170,355 assertions passed 938.03ms
- External via REST with change tracking: 180,455 assertions passed 1.23s
Total failed: 0 / 803,963 - External database PASSED 2.99s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 1.89ms
using Ubuntu 5.8.0 epoll
- TRestHttpClient: 4 assertions passed 9.27ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 60.71ms
4.7 KB, first 1.34ms, done 55.53ms i.e. 18005/s, aver. 55us, 82.8 MB/s
- HTTP client multi connect: 4,088 assertions passed 207.83ms
4.7 KB, first 566us, done 199.78ms i.e. 5005/s, aver. 199us, 23 MB/s
- HTTP client encrypted: 4,088 assertions passed 78.45ms
4.7 KB, first 498us, done 72.88ms i.e. 13719/s, aver. 72us, 63.1 MB/s
- Direct in process access: 4,057 assertions passed 18.42ms
4.7 KB, first 40us, done 16.40ms i.e. 60942/s, aver. 16us, 280.2 MB/s
- HTTP several DB servers: 12,607 assertions passed 199.03ms
4.7 KB, first 213us, done 53.70ms i.e. 18618/s, aver. 53us, 85.6 MB/s
4.7 KB, first 239us, done 54.03ms i.e. 18508/s, aver. 54us, 85.1 MB/s
4.7 KB, first 266us, done 53.64ms i.e. 18640/s, aver. 53us, 85.7 MB/s
Total failed: 0 / 28,934 - Client server access PASSED 582.27ms
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 1.30ms
- TRestServerDB: 7,302 assertions passed 98.84ms
1=40983/s 2=44612/s 5=35184/s 10=32152/s 30=37764/s 50=37957/s
- TRestClientDB: 7,302 assertions passed 184.92ms
1=57903/s 2=15295/s 5=17194/s 10=17453/s 30=21810/s 50=17023/s
- TCP sockets: 7,302 assertions passed 390.90ms
1=13903/s 2=6478/s 5=9085/s 10=13306/s 30=10637/s 50=7895/s
- Unix domain sockets: 7,302 assertions passed 331.97ms
1=19508/s 2=6360/s 5=12102/s 10=13961/s 30=12842/s 50=10478/s
- Websockets: 3,612 assertions passed 200ms
1=10897/s 2=8336/s 5=9508/s
- Locked: 7,298 assertions passed 222.65ms
1=57142/s 2=12507/s 5=12359/s 10=13109/s 30=18496/s 50=17593/s
- Unlocked: 7,302 assertions passed 219.45ms
1=58416/s 2=13118/s 5=10442/s 10=13540/s 30=20557/s 50=20600/s
- Main thread: 7,302 assertions passed 92.71ms
1=36870/s 2=46816/s 5=44802/s 10=43265/s 30=39331/s 50=33917/s
- Background thread: 7,302 assertions passed 164.48ms
1=28567/s 2=29914/s 5=28570/s 10=24390/s 30=19270/s 50=13847/s
Total failed: 0 / 62,025 - Multi thread process PASSED 1.96s
3. SOA
3.1. Service oriented architecture:
- Weak interfaces: 56 assertions passed 101us
- Service initialization: 268 assertions passed 2.15ms
- Direct call: 1,340,517 assertions passed 20.57ms
- Server side: 1,340,537 assertions passed 21.36ms
- Client side REST: 1,787,383 assertions passed 592.72ms
- Client side REST as json object: 1,787,377 assertions passed 620.73ms
- Client side REST sessions stats: 1,787,377 assertions passed 661.71ms
- Client side REST locked: 1,787,381 assertions passed 596.12ms
- Client side REST main thread: 1,787,381 assertions passed 2.25s
- Client side REST background thread: 1,787,381 assertions passed 2.34s
- Client side REST sign with crc 32c: 1,787,377 assertions passed 588.92ms
- Client side REST sign with xxhash: 1,787,377 assertions passed 591.10ms
- Client side REST sign with md 5: 1,787,377 assertions passed 616.98ms
- Client side REST sign with sha 256: 1,787,377 assertions passed 611.77ms
- Client side REST sign with sha 512: 1,787,377 assertions passed 693.66ms
- Client side REST weak authentication: 1,787,377 assertions passed 566.29ms
- Client side REST basic authentication: 1,787,377 assertions passed 748.19ms
- Client side REST custom record layout: 1,787,377 assertions passed 624.83ms
- Client side REST service log to DB: 1,787,377 assertions passed 800.67ms
- Client side json RPC: 1,787,377 assertions passed 639.31ms
- Test over HTTP: 15,938 assertions passed 136.84ms
- Security: 139 assertions passed 1.17ms
- Mocks and stubs: 30,030 assertions passed 38.25ms
Total failed: 0 / 31,325,535 - Service oriented architecture PASSED 13.77s
3.2. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 8.03ms
- Run http server: 2 assertions passed 2.67ms
- Soa callback on server side: 4,580 assertions passed 1.77ms
- Soa callback via json websockets: 6,898 assertions passed 237.18ms
- Soa callback via binary websockets: 6,898 assertions passed 237.85ms
- Relay start: 4 assertions passed 5.95ms
- Relay soa callback via json websockets: 6,899 assertions passed 663.72ms
- Relay connection recreate: 1 assertion passed 2.91ms
- Relay soa callback via binary websockets: 6,899 assertions passed 733.02ms
- Relay shutdown: 2 assertions passed 125.57ms
- TRecordVersion: 20,068 assertions passed 79.86ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 2.10s
Ubuntu 20.04.2 LTS - Linux 5.8.0-1037-oracle (cp utf8)
2 x ARM Neoverse-N1 (aarch64)
on QEMU KVM Virtual Machine virt-4.2
Using mORMot 2.0.1
TSqlite3LibraryStatic 3.36.0 with internal MM
Generated with: Free Pascal 3.2 64 bit Linux compiler
Time elapsed for all tests: 44.38s
Performed 2021-08-17 13:44:09 by ubuntu on lxde
Total assertions failed for all test suits: 0 / 66,050,607
! All tests passed successfully.
ubuntu@lxde:/tmp$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment