Skip to content

Instantly share code, notes, and snippets.

@synopse
Created July 13, 2023 20:53
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 synopse/cfc83f68db656ae144a8e1a23832cd17 to your computer and use it in GitHub Desktop.
Save synopse/cfc83f68db656ae144a8e1a23832cd17 to your computer and use it in GitHub Desktop.
mORMot 2.1.5652 Generated with: Delphi 10.3 Rio 64 bit Win compiler
c:\Temp\tempbuild\exe>mormot2tests
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 746 assertions passed 459us
- TSynList: 3,007 assertions passed 364us
- TRawUtf8List: 190,174 assertions passed 192.59ms
- TDynArray: 1,091,805 assertions passed 48.44ms
- TDynArrayHashed: 1,599,070 assertions passed 484.62ms
- TSynDictionary: 416,253 assertions passed 230.05ms
- TSynQueue: 6,541,501 assertions passed 114.65ms
- TSynNameValue: 40,032 assertions passed 4.25ms
- TRawUtf8Interning: 2,000,013 assertions passed 46.19ms
500000 interning 16 KB in 13.48ms i.e. 35.3M/s, aver. 26ns, 1.1 GB/s
500000 direct 15.2 MB in 5.25ms i.e. 90.7M/s, aver. 10ns, 2.8 GB/s
- TObjArray: 3,231 assertions passed 950us
- Custom RTL: 148,825 assertions passed 172ms
FillCharFast [] in 7.91ms, 49.1 GB/s
MoveFast [] in 69.52ms, 4.4 GB/s
small MoveFast [] in 14.94ms, 7.3 GB/s
big MoveFast [] in 24.88ms, 15.6 GB/s
- Fast string compare: 41 assertions passed 396us
- IdemPropName: 228 assertions passed 446us
- Url encoding: 167 assertions passed 914us
- GUID: 12,109 assertions passed 1.89ms
- ParseCommandArguments: 232 assertions passed 418us
- TExecutableCommandLine: 37 assertions passed 443us
- IsMatch: 4,277 assertions passed 534us
- TExprParserMatch: 140 assertions passed 415us
- Soundex: 35 assertions passed 387us
- Numerical conversions: 2,545,254 assertions passed 125.39ms
100000 FloatToText in 15.61ms i.e. 6.1M/s, aver. 156ns, 116.1 MB/s
100000 str in 12.39ms i.e. 7.6M/s, aver. 123ns, 177 MB/s
100000 DoubleToShort in 5.86ms i.e. 16.2M/s, aver. 58ns, 341.5 MB/s
100000 DoubleToAscii in 6.10ms i.e. 15.6M/s, aver. 61ns, 331.6 MB/s
- Integers: 146,512 assertions passed 26.71ms
- crc32c: 340,102 assertions passed 49.32ms
pas 542.6 MB/s fast 2.6 GB/s sse42 15.4 GB/s sse42+aesni 25.1 GB/s
- Random32: 221,035 assertions passed 1.66ms
240000 Random32 in 1ms i.e. 228.4M/s, aver. 4ns, 913.7 MB/s
RandomBytes in 181us, 2 GB/s
- Bloom filters: 2,010,072 assertions passed 46.73ms
- DeltaCompress: 3,089 assertions passed 10.48ms
- Curr 64: 20,056 assertions passed 1.01ms
- CamelCase: 11 assertions passed 787us
- Bits: 23,674 assertions passed 6.08ms
- Ini files: 7,028 assertions passed 28.11ms
- UTF8: 1,428,543 assertions passed 480.36ms
- Url decoding: 1,301 assertions passed 798us
- Mime types: 582 assertions passed 6.26ms
- Baudot code: 10,007 assertions passed 17.31ms
- Iso 8601 date and time: 200,832 assertions passed 4.17ms
- Time zones: 459 assertions passed 204.23ms
- Dmi smbios: 45 assertions passed 3.65ms
- SID: 687 assertions passed 3.92ms
- Quick select: 4,015 assertions passed 74.32ms
- TSynCache: 408 assertions passed 810us
- TSynFilter: 1,005 assertions passed 1.21ms
- TSynValidate: 677 assertions passed 629us
- TSynLogFile: 62 assertions passed 487us
- TSynUniqueIdentifier: 1,300,004 assertions passed 136.60ms
200000 ComputeNew in 4.74ms i.e. 40.2M/s, aver. 23ns
Total failed: 0 / 20,317,383 - Core base PASSED 2.56s
1.2. Core process:
- RTTI: 1,351 assertions passed 592us
- Url encoding: 979 assertions passed 752us
- Encode decode JSON: 587,397 assertions passed 52.33ms
- JSON benchmark: 100,513 assertions passed 621.33ms
StrLen() in 446us, 42.9 GB/s
IsValidUtf8(RawUtf8) in 8.09ms, 2.3 GB/s
IsValidUtf8(PUtf8Char) in 7.05ms, 2.7 GB/s
IsValidJson(RawUtf8) in 14.59ms, 1.3 GB/s
IsValidJson(PUtf8Char) in 13.99ms, 1.3 GB/s
JsonArrayCount(P) in 14.23ms i.e. 11M/s, 1.3 GB/s
JsonArrayCount(P,PMax) in 14.97ms i.e. 10.4M/s, 1.2 GB/s
JsonObjectPropCount() in 8.67ms, 1.2 GB/s
jsonUnquotedPropNameCompact in 35.04ms, 496.7 MB/s
jsonHumanReadable in 42.83ms, 582.3 MB/s
TDocVariant in 72.95ms i.e. 2.1M/s, 268.7 MB/s
TDocVariant no guess in 71.35ms i.e. 2.1M/s, 274.7 MB/s
TDocVariant dvoIntern in 76.64ms i.e. 2M/s, 255.8 MB/s
TOrmTableJson save in 15.44ms i.e. 10.1M/s, 558.4 MB/s
TOrmTableJson exp in 18.05ms i.e. 8.6M/s, 1 GB/s
TOrmTableJson not exp in 10.77ms i.e. 14.5M/s, 800.8 MB/s
TDocVariant FromResults exp in 31.36ms i.e. 5M/s, 625 MB/s
TDocVariant FromResults not exp in 23.98ms i.e. 6.5M/s, 359.6 MB/s
DynArrayLoadJson exp in 34.54ms i.e. 4.5M/s, 567.5 MB/s
DynArrayLoadJson non exp in 21.60ms i.e. 7.2M/s, 399.1 MB/s
TOrmPeopleObjArray exp in 41.47ms i.e. 3.7M/s, 472.7 MB/s
TOrmPeopleObjArray non exp in 25.28ms i.e. 6.2M/s, 341 MB/s
- Wiki markdown to html: 56 assertions passed 503us
- Variants: 124 assertions passed 455us
- Mustache renderer: 170 assertions passed 6.64ms
- TDocVariant: 92,079 assertions passed 350.04ms
- TDecimal128: 17,446 assertions passed 953us
- BSON: 245,071 assertions passed 3.50ms
100000 TBsonObjectID.ComputeNew in 2.84ms i.e. 33.4M/s, aver. 28ns
- TSelectStatement: 237 assertions passed 433us
- TSynMonitorUsage: 1,202 assertions passed 405us
Total failed: 0 / 1,046,625 - Core process PASSED 1.04s
1.3. Core collections:
- IList: 6,941,143 assertions passed 372.39ms
500000 IList<Byte> in 1.68ms i.e. 283.1M/s, aver. 3ns
500000 IList<Word> in 1.57ms i.e. 302.7M/s, aver. 3ns
500000 IList<Integer> in 1.70ms i.e. 279M/s, aver. 3ns
500000 IList<Cardinal> in 1.71ms i.e. 278.3M/s, aver. 3ns
500000 IList<Int64> in 2ms i.e. 238.1M/s, aver. 4ns
500000 IList<UInt64> in 1.96ms i.e. 242.9M/s, aver. 3ns
500000 IList<Single> in 1.74ms i.e. 273.4M/s, aver. 3ns
500000 IList<Double> in 1.83ms i.e. 260.4M/s, aver. 3ns
500000 IList<TDateTime> in 1.83ms i.e. 259.4M/s, aver. 3ns
500000 IList<UTF8String> in 7.28ms i.e. 65.4M/s, aver. 14ns
500000 IList<string> in 7.28ms i.e. 65.4M/s, aver. 14ns
500000 IList<Variant> in 7.86ms i.e. 60.6M/s, aver. 15ns
500000 IList<THash128> in 3.15ms i.e. 151.3M/s, aver. 6ns
500000 IList<TGUID> in 3.31ms i.e. 143.8M/s, aver. 6ns
- IKeyValue: 5,400,070 assertions passed 111.47ms
100000 integer,Int64 add in 5.76ms i.e. 16.5M/s, aver. 57ns
100000 integer,Int64 get in 2.90ms i.e. 32.7M/s, aver. 29ns
100000 integer,Int64 iter in 364us i.e. 262M/s, aver. 3ns
100000 integer,Int64 enum in 357us i.e. 267.1M/s, aver. 3ns
100000 RawUtf8,double add in 9.08ms i.e. 10.4M/s, aver. 90ns
100000 RawUtf8,double get in 3.01ms i.e. 31.6M/s, aver. 30ns
100000 RawUtf8,double iter in 1.30ms i.e. 72.9M/s, aver. 13ns
100000 RawUtf8,double enum in 3.16ms i.e. 30.1M/s, aver. 31ns
100000 integer,Int64 capa add in 3.23ms i.e. 29.5M/s, aver. 32ns
100000 integer,Int64 capa get in 2.39ms i.e. 39.8M/s, aver. 23ns
100000 integer,Int64 capa iter in 333us i.e. 286.3M/s, aver. 3ns
100000 integer,Int64 capa enum in 355us i.e. 268.6M/s, aver. 3ns
100000 RawUtf8,double capa add in 5.40ms i.e. 17.6M/s, aver. 54ns
100000 RawUtf8,double capa get in 1.94ms i.e. 48.9M/s, aver. 19ns
100000 RawUtf8,double capa iter in 1.39ms i.e. 68.1M/s, aver. 13ns
100000 RawUtf8,double capa enum in 3.17ms i.e. 30M/s, aver. 31ns
- Benchmark: 67,368 assertions passed 805.94ms
320000 system TList<integer> in 49.92ms i.e. 6.1M/s, aver. 156ns
320000 mORMot IList<integer> in 20.54ms i.e. 14.8M/s, aver. 64ns
320000 system TList<RawUtf8> in 78.05ms i.e. 3.9M/s, aver. 243ns
320000 mORMot IList<RawUtf8> in 49.35ms i.e. 6.1M/s, aver. 154ns
320000 system TDictionary<int,int> in 420.30ms i.e. 743.5K/s, aver. 1.31us
320000 mORMot IKeyValue<int,int> in 39.08ms i.e. 7.8M/s, aver. 122ns
320000 system TDictionary<utf,int> in 99.32ms i.e. 3M/s, aver. 310ns
320000 mORMot IKeyValue<utf,int> in 48.25ms i.e. 6.3M/s, aver. 150ns
Total failed: 0 / 12,408,581 - Core collections PASSED 1.30s
1.4. Core crypto:
- MD5: 333 assertions passed 563us
- SHA1: 8 assertions passed 2.56ms
- SHA256: 30 assertions passed 16.64ms
- SHA512: 30 assertions passed 10.58ms
- SHA3: 8,225 assertions passed 14.37ms
- AES: 58,805 assertions passed 232.49ms
cypher with AES-NI: 42us, without: 482us
- AES_GCM: 215 assertions passed 454us
- RC4: 1,016 assertions passed 1.41ms
- Hashes: 33 assertions passed 129.08ms
- Streams: 425,013 assertions passed 16.39ms
- Base encoding: 31,828 assertions passed 110.90ms
base64 encoding in 41.28ms, 2.3 GB/s
base64 decoding in 41.48ms, 2.3 GB/s
- CompressShaAes: 1,683 assertions passed 1.89ms
- TAesPNRG: 231,315 assertions passed 21.36ms
100000 mORMot Random32 in 1.39ms i.e. 68.3M/s, aver. 13ns, 273.2 MB/s
mORMot FillRandom in 17us, 5.4 GB/s
100000 Lecuyer Random32 in 402us i.e. 237.2M/s, aver. 4ns, 0.9 GB/s
Lecuyer RandomBytes in 45us, 2 GB/s
- CryptDataForCurrentUser: 5,000 assertions passed 28.75ms
2000 AES-CFB in 2.06ms i.e. 0.9M/s, aver. 1.03us, 505.9 MB/s
- CryptDataForCurrentUserApi: 5,000 assertions passed 171.53ms
2000 DPAPI in 152.17ms i.e. 12.8K/s, aver. 76us, 7.6 MB/s
- JWT: 163,160 assertions passed 59.14ms
1000 HS256 in 786us i.e. 1.2M/s, aver. 786ns
1000 HS384 in 756us i.e. 1.2M/s, aver. 756ns
1000 HS512 in 764us i.e. 1.2M/s, aver. 764ns
1000 S3224 in 568us i.e. 1.6M/s, aver. 568ns
1000 S3256 in 605us i.e. 1.5M/s, aver. 605ns
1000 S3384 in 579us i.e. 1.6M/s, aver. 579ns
1000 S3512 in 573us i.e. 1.6M/s, aver. 573ns
1000 S3S128 in 565us i.e. 1.6M/s, aver. 565ns
1000 S3S256 in 580us i.e. 1.6M/s, aver. 580ns
100 ES256 in 15.99ms i.e. 6.1K/s, aver. 159us
- TBinaryCookieGenerator: 82,944 assertions passed 3.52ms
16384 generate in 1.14ms i.e. 13.6M/s, aver. 70ns
16384 validate in 674us i.e. 23.1M/s, aver. 41ns
- Pkcs 11: 1,247 assertions passed 401us
- Digest: 25,611 assertions passed 16.91ms
- Catalog: 2,822 assertions passed 249.13ms
rnd-entropy rnd-entropysys rnd-entropysysblocking rnd-entropyuser
rnd-default rnd-aes rnd-lecuyer rnd-system rnd-systemblocking md5 sha1
sha256 sha384 sha512 sha3_256 sha3_512 crc32 crc32c xxhash32 adler32
fnv32 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
syn-es256 syn-es256-v1 syn-store syn-store-nocache
- Benchmark: 95,000 assertions passed 220.72ms
2500 crc32c in 161us i.e. 14.8M/s or 32.2 GB/s
2500 xxhash32 in 595us i.e. 4M/s or 8.7 GB/s
2500 crc32 in 3.48ms i.e. 699.9K/s or 1.4 GB/s
2500 adler32 in 1.23ms i.e. 1.9M/s or 4.2 GB/s
2500 hash32 in 319us i.e. 7.4M/s or 16.2 GB/s
2500 aesnihash in 90us i.e. 26.4M/s or 57.7 GB/s
2500 md4 in 7.25ms i.e. 336.7K/s or 733.8 MB/s
2500 md5 in 6.08ms i.e. 401.2K/s or 874.5 MB/s
2500 sha1 in 13.34ms i.e. 182.9K/s or 398.6 MB/s
2500 hmacsha1 in 14.81ms i.e. 164.8K/s or 359.1 MB/s
2500 sha256 in 11.75ms i.e. 207.6K/s or 452.5 MB/s
2500 hmacsha256 in 12.72ms i.e. 191.8K/s or 417.9 MB/s
2500 sha384 in 7.35ms i.e. 332.1K/s or 723.7 MB/s
2500 hmacsha384 in 8.69ms i.e. 280.9K/s or 612.1 MB/s
2500 sha512 in 7.31ms i.e. 333.5K/s or 726.9 MB/s
2500 sha512_256 in 7.33ms i.e. 332.8K/s or 725.4 MB/s
2500 hmacsha512 in 8.68ms i.e. 281K/s or 612.4 MB/s
2500 sha3_256 in 12.46ms i.e. 195.8K/s or 426.7 MB/s
2500 sha3_512 in 23.06ms i.e. 105.8K/s or 230.7 MB/s
2500 rc4 in 9.81ms i.e. 248.6K/s or 541.9 MB/s
2500 mormot aes-128-cfb in 2.53ms i.e. 0.9M/s or 2 GB/s
2500 mormot aes-128-ofb in 2.53ms i.e. 0.9M/s or 2 GB/s
2500 mormot aes-128-c64 in 3.79ms i.e. 642.8K/s or 1.3 GB/s
2500 mormot aes-128-ctr in 553us i.e. 4.3M/s or 9.3 GB/s
2500 mormot aes-128-cfc in 2.69ms i.e. 905.5K/s or 1.9 GB/s
2500 mormot aes-128-ofc in 2.99ms i.e. 816.5K/s or 1.7 GB/s
2500 mormot aes-128-ctc in 923us i.e. 2.5M/s or 5.6 GB/s
2500 mormot aes-128-gcm in 992us i.e. 2.4M/s or 5.2 GB/s
2500 mormot aes-256-cfb in 3.47ms i.e. 702.9K/s or 1.4 GB/s
2500 mormot aes-256-ofb in 3.40ms i.e. 716.3K/s or 1.5 GB/s
2500 mormot aes-256-c64 in 4.68ms i.e. 521.5K/s or 1.1 GB/s
2500 mormot aes-256-ctr in 711us i.e. 3.3M/s or 7.3 GB/s
2500 mormot aes-256-cfc in 3.56ms i.e. 685K/s or 1.4 GB/s
2500 mormot aes-256-ofc in 3.88ms i.e. 628.9K/s or 1.3 GB/s
2500 mormot aes-256-ctc in 1.08ms i.e. 2.1M/s or 4.7 GB/s
2500 mormot aes-256-gcm in 1.14ms i.e. 2M/s or 4.5 GB/s
2500 shake128 in 11.03ms i.e. 221.1K/s or 481.9 MB/s
2500 shake256 in 12.94ms i.e. 188.6K/s or 411 MB/s
Total failed: 0 / 1,139,318 - Core crypto PASSED 1.33s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 1.94ms
- ECC: 3,306 assertions passed 449.55ms
300 Ecc256r1MakeKey in 46.35ms i.e. 6.3K/s, aver. 154us
300 Ecc256r1Uncompress in 3.07ms i.e. 95.3K/s, aver. 10us
300 Ecc256r1Sign in 47.68ms i.e. 6.1K/s, aver. 158us
300 Ecc256r1Verify in 57.74ms i.e. 5K/s, aver. 192us
300 Ecc256r1VerifyUncomp in 55.05ms i.e. 5.3K/s, aver. 183us
598 Ecc256r1SharedSecret in 95.30ms i.e. 6.1K/s, aver. 159us
602 EciesSeal+EciesOpen in 139.38ms i.e. 4.2K/s, aver. 231us
- Certificates and signatures: 106 assertions passed 9.76ms
- Ecc command line tool: 704 assertions passed 144.34ms
- ECDHE stream protocol: 63,393 assertions passed 362.47ms
100 efAesCrc128 in 1.10ms i.e. 88.4K/s, aver. 11us, 2.2 GB/s
100 efAesCfb128 in 1.08ms i.e. 90K/s, aver. 10us, 2.2 GB/s
100 efAesOfb128 in 1.58ms i.e. 61.6K/s, aver. 15us, 1.5 GB/s
100 efAesCtr128 in 633us i.e. 154.2K/s, aver. 6.33us, 3.9 GB/s
100 efAesCbc128 in 1.93ms i.e. 50.4K/s, aver. 19us, 1.2 GB/s
100 efAesCrc256 in 1.32ms i.e. 73.5K/s, aver. 13us, 1.8 GB/s
100 efAesCfb256 in 1.32ms i.e. 73.7K/s, aver. 13us, 1.8 GB/s
100 efAesOfb256 in 2ms i.e. 48.6K/s, aver. 20us, 1.2 GB/s
100 efAesCtr256 in 697us i.e. 140.1K/s, aver. 6.97us, 3.5 GB/s
100 efAesCbc256 in 2.14ms i.e. 45.5K/s, aver. 21us, 1.1 GB/s
100 efAesGcm128 in 716us i.e. 136.3K/s, aver. 7.16us, 3.4 GB/s
100 efAesGcm256 in 789us i.e. 123.7K/s, aver. 7.89us, 3.1 GB/s
100 efAesCtc128 in 670us i.e. 145.7K/s, aver. 6.70us, 3.7 GB/s
100 efAesCtc256 in 739us i.e. 132.1K/s, aver. 7.39us, 3.3 GB/s
Total failed: 0 / 67,532 - Core ecc PASSED 976.74ms
1.6. Core compression:
- In memory compression: 21 assertions passed 143.21ms
- GZIP format: 30 assertions passed 71.75ms
- ZIP format: 896 assertions passed 1.14s
- 7Zip: 8 assertions passed 851us
- SynLZ: 23,576 assertions passed 56.57ms
- TAlgoCompress: 762 assertions passed 227.76ms
TAlgoSynLZ 3.8 MB->1.9 MB: comp 399.7MB/s decomp 548.8MB/s
TAlgoRleLZ 3.8 MB->1.9 MB: comp 244.5MB/s decomp 454.7MB/s
TAlgoRle 3.8 MB->3.4 MB: comp 672.6MB/s decomp 3.6GB/s
TAlgoDeflate 3.8 MB->1.4 MB: comp 37.1MB/s decomp 291.4MB/s
TAlgoDeflateFast 3.8 MB->1.6 MB: comp 105.7MB/s decomp 284.4MB/s
Total failed: 0 / 25,293 - Core compression PASSED 1.65s
1.7. Network protocols:
- TUriTree: 9,245 assertions passed 1.29ms
1000 big tree lookups in 84us i.e. 11.3M/s, aver. 84ns
1000 URI lookups in 16us i.e. 59.6M/s, aver. 16ns
1000 URI static rewrites in 60us i.e. 15.8M/s, aver. 60ns
1000 URI parametrized rewrites in 75us i.e. 12.7M/s, aver. 75ns
1000 URI static execute in 58us i.e. 16.4M/s, aver. 58ns
1000 URI parametrized execute in 95us i.e. 10M/s, aver. 95ns
- DNS and LDAP: 1,069 assertions passed 174.90ms
time.google.com : 2023-07-13 20:51:38.455Z = 2023-07-13 20:51:35.523Z
- RTSP over HTTP: 1,900 assertions passed 105.27ms
- RTSP over HTTP buffered write: 1,900 assertions passed 125.78ms
- TTunnelLocal: 9,120 assertions passed 59.61ms
Total failed: 0 / 23,234 - Network protocols PASSED 477.74ms
2. ORM
2.1. Orm core:
- TOrm: 98 assertions passed 688us
- TOrmSigned: 200 assertions passed 1.54ms
- TOrmModel: 38 assertions passed 470us
- TRestServerFullMemory: 1,370,749 assertions passed 220.05ms
Total failed: 0 / 1,371,085 - Orm core PASSED 225.25ms
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 28.64ms
- Virtual table direct access: 12 assertions passed 5.59ms
- TOrmTableJson: 174,130 assertions passed 31.46ms
- TRestClientDB: 615,205 assertions passed 253.41ms
- Regexp function: 6,015 assertions passed 5.99ms
- TRecordVersion: 20,060 assertions passed 24.11ms
Total failed: 0 / 837,713 - Sqlite file PASSED 353.61ms
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 29.26ms
- Virtual table direct access: 12 assertions passed 664us
- TOrmTableJson: 174,130 assertions passed 29.96ms
- TRestClientDB: 615,205 assertions passed 249.36ms
- Regexp function: 6,015 assertions passed 5.22ms
- TRecordVersion: 20,060 assertions passed 18.92ms
Total failed: 0 / 837,713 - Sqlite file WAL PASSED 337.06ms
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 24.26ms
- Virtual table direct access: 12 assertions passed 813us
- TOrmTableJson: 174,130 assertions passed 29.33ms
- TRestClientDB: 615,203 assertions passed 250.55ms
- Regexp function: 6,015 assertions passed 9.46ms
- TRecordVersion: 20,060 assertions passed 21.95ms
Total failed: 0 / 837,691 - Sqlite file memory map PASSED 340.85ms
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 30.02ms
- Virtual table direct access: 12 assertions passed 774us
- TOrmTableJson: 174,130 assertions passed 29.59ms
- TRestClientDB: 683,513 assertions passed 354.88ms
- Regexp function: 6,015 assertions passed 4.60ms
- TRecordVersion: 20,060 assertions passed 18.14ms
- TOrmTableWritable: 24,086 assertions passed 2.78ms
- RTree: 280,024 assertions passed 281ms
10000 With RTree in 145.03ms i.e. 67.3K/s, aver. 14us
10000 With RTreeInteger in 133.78ms i.e. 72.9K/s, aver. 13us
- Shard write: 10,602 assertions passed 35.96ms
- Shard read: 140,001 assertions passed 35.17ms
- Shard read after purge: 114,003 assertions passed 27.52ms
- MaxShardCount: 144,002 assertions passed 36.61ms
Total failed: 0 / 1,618,719 - Sqlite memory PASSED 864.63ms
2.6. External database:
- SynDBRemote: 42,707 assertions passed 145.98ms
- DB properties persistence: 7 assertions passed 872us
- External records: 2 assertions passed 492us
- Auto adapt SQL: 1,127 assertions passed 1.12ms
- Crypted database: 253,277 assertions passed 26.29ms
- External via REST: 170,358 assertions passed 164.62ms
- External via virtual table: 170,358 assertions passed 274.71ms
- External via REST with change tracking: 180,458 assertions passed 399.76ms
Total failed: 0 / 818,294 - External database PASSED 1.01s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 1.80ms
using THttpApiServer HTTP API 2.0
- TRestHttpClient: 4 assertions passed 3.71ms
using TRestHttpClientSocket
- Http client keep alive: 4,088 assertions passed 83.99ms
4.7 KB, first 637us, done 78.63ms i.e. 12716/s, aver. 78us, 58.4 MB/s
- Http client multi connect: 4,088 assertions passed 154.49ms
4.7 KB, first 253us, done 146.89ms i.e. 6807/s, aver. 146us, 31.3 MB/s
- Http client encrypted: 4,088 assertions passed 85.42ms
4.7 KB, first 203us, done 80.90ms i.e. 12360/s, aver. 80us, 56.8 MB/s
- TRestHttpsServer: 29 assertions passed 55.68ms
using THttpAsyncServer WinSock 2.0.514
- TRestHttpsClient: 6 assertions passed 475.23ms
using TRestHttpClientSocket
TLS_RSA_WITH_AES_128_CBC_SHA256 TLSv1.2
- Https client keep alive: 5,129 assertions passed 124.81ms
4.7 KB, first 7.25ms, done 110.20ms i.e. 9073/s, aver. 110us, 41.7 MB/s
- Direct in process access: 4,057 assertions passed 8.62ms
4.7 KB, first 149us, done 6.67ms i.e. 149745/s, aver. 6.67us, 688.7 MB/s
- HTTP several DB servers: 12,610 assertions passed 1.23s
4.7 KB, first 176us, done 79.52ms i.e. 12575/s, aver. 79us, 57.8 MB/s
4.7 KB, first 139us, done 78.68ms i.e. 12709/s, aver. 78us, 58.4 MB/s
4.7 KB, first 133us, done 78.73ms i.e. 12700/s, aver. 78us, 58.4 MB/s
Total failed: 0 / 34,101 - Client server access PASSED 2.23s
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 2.44ms
- TRestServerDB: 8,422 assertions passed 59.32ms
1=184696/s 2=90066/s 5=73902/s 10=81319/s 30=97006/s 50=36679/s
- TRestClientDB: 8,422 assertions passed 1.44s
1=82869/s 2=27855/s 5=12174/s 10=5080/s 30=1553/s 50=934/s
- TCP sockets: 9,898 assertions passed 5.02s
1=7902/s 2=12045/s 5=5499/s 10=1476/s 30=407/s 50=315/s
- Windows API: 8,434 assertions passed 718.93ms
1=5334/s 2=11231/s 5=8416/s 10=4930/s 30=4850/s 50=5672/s
- Websockets: 8,434 assertions passed 581.44ms
1=8202/s 2=14874/s 5=9052/s 10=11189/s 30=6380/s 50=6440/s
- Locked: 8,422 assertions passed 1.36s
1=56175/s 2=29214/s 5=11271/s 10=5293/s 30=1551/s 50=1045/s
- Unlocked: 8,422 assertions passed 262.18ms
1=41425/s 2=29057/s 5=16811/s 10=20113/s 30=10486/s 50=10915/s
- Main thread: 8,420 assertions passed 286.21ms
1=12221/s 2=14946/s 5=15069/s 10=22704/s 30=22672/s 50=11297/s
- Background thread: 8,421 assertions passed 1.49s
1=25839/s 2=22358/s 5=10382/s 10=4620/s 30=1573/s 50=919/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 77,296 - Multi thread process PASSED 12.05s
3. SOA
3.1. Core script:
- Quick JS low level: 40,057 assertions passed 33.48ms
Total failed: 0 / 40,057 - Core script PASSED 34.49ms
3.2. Service oriented architecture:
- Weak interfaces: 56 assertions passed 447us
- Service initialization: 244 assertions passed 3.82ms
- Direct call: 1,389,831 assertions passed 9.95ms
- Server side: 1,389,851 assertions passed 10.13ms
- Client side REST: 1,853,135 assertions passed 203.29ms
- Client side REST as json object: 1,853,129 assertions passed 209.53ms
- Client side REST sessions stats: 1,853,129 assertions passed 237.07ms
- Client side REST locked: 1,853,133 assertions passed 201.56ms
- Client side REST main thread: 1,853,133 assertions passed 3.67s
- Client side REST background thread: 1,853,133 assertions passed 3.49s
- Client side REST sign with crc 32c: 1,853,129 assertions passed 203.75ms
- Client side REST sign with xxhash: 1,853,129 assertions passed 202.65ms
- Client side REST sign with md 5: 1,853,129 assertions passed 211.46ms
- Client side REST sign with sha 1: 1,853,129 assertions passed 224.54ms
- Client side REST sign with sha 256: 1,853,129 assertions passed 226.69ms
- Client side REST sign with sha 512: 1,853,129 assertions passed 234.34ms
- Client side REST sign with sha 3: 1,853,129 assertions passed 277.50ms
- Client side REST weak authentication: 1,853,129 assertions passed 198.26ms
- Client side REST basic authentication: 1,853,129 assertions passed 266.68ms
- Client side REST custom record layout: 1,853,129 assertions passed 218.56ms
- Client side REST service log to DB: 1,853,129 assertions passed 648.34ms
- Client side json RPC: 1,853,129 assertions passed 243.25ms
- Test over HTTP: 18,276 assertions passed 379.01ms
- Security: 139 assertions passed 1.45ms
- Mocks and stubs: 30,033 assertions passed 22ms
Total failed: 0 / 36,184,770 - Service oriented architecture PASSED 11.64s
3.3. Bidirectional remote connection:
- Websockets protocols: 32,500 assertions passed 13.01ms
- Run http server: 2 assertions passed 41.68ms
- Soa callback on server side: 4,646 assertions passed 7ms
- Soa callback via json websockets: 7,000 assertions passed 342.61ms
- Soa callback via binary websockets: 7,000 assertions passed 372.35ms
- Relay start: 4 assertions passed 39.84ms
- Relay soa callback via json websockets: 7,001 assertions passed 770.07ms
- Relay connection recreate: 1 assertion passed 54.42ms
- Relay soa callback via binary websockets: 7,001 assertions passed 988.17ms
- Relay shutdown: 2 assertions passed 269.54ms
- TRecordVersion: 20,068 assertions passed 117.68ms
Total failed: 0 / 85,225 - Bidirectional remote connection PASSED 3.04s
Software version tested: 2.1.5652 (2023-07-13 22:51:22)
Windows 7 64bit SP1 (6.1.7601) (cp 1252)
4 x 13th Gen Intel(R) Core(TM) i5-13500 24MB cache (x64)
on VBOX - 1 Oracle VM VirtualBox Version 7.0.6 VGA BIOS
Using mORMot 2.1.5652
TSqlite3LibraryStatic 3.41.0 with internal MM
Generated with: Delphi 10.3 Rio 64 bit Win compiler
Time elapsed for all tests: 41.57s
Performed 2023-07-13 22:52:12 by user1 on WIN7DEV
Total assertions failed for all test suits: 0 / 77,770,630
! All tests passed successfully.
Done - Press ENTER to Exit
c:\Temp\tempbuild\exe>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment