Created
February 6, 2022 16:44
-
-
Save martin-doyle/a89b6d5267e145466c0d857985572920 to your computer and use it in GitHub Desktop.
This file contains 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: | |
- 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