Skip to content

Instantly share code, notes, and snippets.

@synopse
Created July 9, 2021 20:42
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/30c68ffbbb22c98c5bfe91060ceac356 to your computer and use it in GitHub Desktop.
Save synopse/30c68ffbbb22c98c5bfe91060ceac356 to your computer and use it in GitHub Desktop.
mormot2 tests Free Pascal 3.2 64 bit Linux compiler
abouchez@tisab:~/dev/lib2/test/fpc/bin/x86_64-linux$ ./mormot2tests
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 87us
- TRawUtf8List: 190,172 assertions passed 66.73ms
- TDynArray: 1,091,804 assertions passed 100.50ms
- TDynArrayHashed: 1,599,070 assertions passed 1.12s
- TSynDictionary: 327,450 assertions passed 373.19ms
- TSynQueue: 6,541,501 assertions passed 200.70ms
- TSynNameValue: 40,032 assertions passed 6.54ms
- TRawUtf8Interning: 2,000,013 assertions passed 136.05ms
500000 interning 16 KB in 53ms i.e. 9M/s, aver. 0us, 287.8 MB/s
500000 direct 15.2 MB in 13.73ms i.e. 34.7M/s, aver. 0us, 1 GB/s
- TObjArray: 3,230 assertions passed 754us
- Custom RTL: 77,552 assertions passed 395.46ms
FillCharFast [] in 21.67ms, 17.9 GB/s
MoveFast [] in 2.45ms, 6.3 GB/s
small MoveFast [] in 4.31ms, 5 GB/s
big MoveFast [] in 66.23ms, 5.8 GB/s
FillCharFast [cpuAVX] in 20.41ms, 19 GB/s
MoveFast [cpuAVX] in 2.26ms, 6.8 GB/s
small MoveFast [cpuAVX] in 4.32ms, 5 GB/s
big MoveFast [cpuAVX] in 66.69ms, 5.8 GB/s
- Fast string compare: 41 assertions passed 15us
- IdemPropName: 228 assertions passed 36us
- Url encoding: 167 assertions passed 706us
- GUID: 10,019 assertions passed 3.66ms
- ParseCommandArguments: 232 assertions passed 35us
- IsMatch: 4,250 assertions passed 192us
- TExprParserMatch: 140 assertions passed 82us
- Soundex: 35 assertions passed 20us
- Numerical conversions: 2,540,733 assertions passed 286.58ms
100000 FloatToText in 54.87ms i.e. 1.7M/s, aver. 0us, 33 MB/s
100000 str in 28.99ms i.e. 3.2M/s, aver. 0us, 78.9 MB/s
100000 DoubleToShort in 9.38ms i.e. 10.1M/s, aver. 0us, 213.4 MB/s
100000 DoubleToAscii in 9.09ms i.e. 10.4M/s, aver. 0us, 222.4 MB/s
- Integers: 144,965 assertions passed 41.85ms
- crc32c: 320,100 assertions passed 72.32ms
pas 375.1 MB/s fast 1.5 GB/s sse42 7.3 GB/s sse42+aesni 6.3 GB/s
- Random32: 221,003 assertions passed 2.83ms
240000 Random32 in 2.69ms i.e. 85M/s, aver. 0us, 340.2 MB/s
- Bloom filters: 2,010,072 assertions passed 247.66ms
- DeltaCompress: 87 assertions passed 8.79ms
- Curr 64: 20,056 assertions passed 970us
- CamelCase: 11 assertions passed 7us
- Bits: 32,657 assertions passed 29.50ms
- Ini files: 7,028 assertions passed 28.51ms
- UTF8: 1,185,875 assertions passed 873.10ms
- Url decoding: 1,101 assertions passed 103us
- Mime types: 438 assertions passed 1.01ms
- Baudot code: 10,007 assertions passed 36.18ms
- Iso 8601 date and time: 200,831 assertions passed 6.31ms
- Time zones: 449 assertions passed 200.29ms
- Quick select: 4,015 assertions passed 151.95ms
- TSynCache: 404 assertions passed 56us
- TSynFilter: 804 assertions passed 1.37ms
- TSynValidate: 677 assertions passed 360us
- TSynLogFile: 43 assertions passed 323us
- TSynUniqueIdentifier: 1,300,002 assertions passed 259.52ms
200000 ComputeNew in 7.64ms i.e. 24.9M/s, aver. 0us
Total failed: 0 / 19,888,037 - Core base PASSED 4.66s
1.2. Core process:
- RTTI: 1,338 assertions passed 273us
- Url encoding: 200 assertions passed 272us
- Encode decode JSON: 426,877 assertions passed 89.12ms
- Wiki markdown to html: 56 assertions passed 60us
- Variants: 97 assertions passed 45us
- Mustache renderer: 156 assertions passed 1ms
- TDocVariant: 91,819 assertions passed 69.11ms
- TDecimal128: 17,446 assertions passed 1.36ms
- BSON: 245,070 assertions passed 3.63ms
100000 TBsonObjectID.ComputeNew in 3.11ms i.e. 30.5M/s, aver. 0us
- TSelectStatement: 229 assertions passed 102us
- TSynMonitorUsage: 1,202 assertions passed 75us
Total failed: 0 / 784,490 - Core process PASSED 165.17ms
1.3. Core compression:
- In memory compression: 21 assertions passed 304.62ms
- GZIP format: 30 assertions passed 143.78ms
- ZIP format: 856 assertions passed 1.77s
- SynLZ: 23,382 assertions passed 93.39ms
- TAlgoCompress: 914 assertions passed 825.69ms
TAlgoSynLZ 3.8 MB->2.2 MB: comp 204:117MB/s decomp 185:323MB/s
TAlgoLizard 3.8 MB->2.1 MB: comp 13:7MB/s decomp 548:996MB/s
TAlgoLizardFast 3.8 MB->2.4 MB: comp 165:104MB/s decomp 743:1178MB/s
TAlgoLizardHuffman 3.8 MB->2 MB: comp 47:25MB/s decomp 335:621MB/s
TAlgoDeflate 3.8 MB->1.7 MB: comp 22:9MB/s decomp 75:171MB/s
TAlgoDeflateFast 3.8 MB->1.7 MB: comp 33:15MB/s decomp 66:143MB/s
Total failed: 0 / 25,203 - Core compression PASSED 3.15s
1.4. Core collections:
- ISynList: 5,910,040 assertions passed 672.40ms
100000 random Byte in 1.38ms i.e. 68.9M/s, aver. 0us
100000 add Byte in 1.57ms i.e. 60.5M/s, aver. 0us
100000 getitem Byte in 344us i.e. 277.2M/s, aver. 0us
100000 in Byte in 192us i.e. 496.7M/s, aver. 0us
400000 IList<Byte> in 3.52ms i.e. 108.1M/s, aver. 0us
100000 sort Byte in 10.49ms i.e. 9M/s, aver. 0us
100000 find Byte in 9.02ms i.e. 10.5M/s, aver. 0us
100000 random Word in 1.59ms i.e. 59.9M/s, aver. 0us
100000 add Word in 1.47ms i.e. 64.8M/s, aver. 0us
100000 getitem Word in 725us i.e. 131.5M/s, aver. 0us
100000 in Word in 289us i.e. 329.9M/s, aver. 0us
400000 IList<Word> in 4.16ms i.e. 91.5M/s, aver. 0us
100000 sort Word in 9.39ms i.e. 10.1M/s, aver. 0us
100000 find Word in 19.41ms i.e. 4.9M/s, aver. 0us
100000 random Integer in 1.68ms i.e. 56.5M/s, aver. 0us
100000 add Integer in 1.35ms i.e. 70.3M/s, aver. 0us
100000 getitem Integer in 400us i.e. 238.4M/s, aver. 0us
100000 in Integer in 243us i.e. 392.4M/s, aver. 0us
400000 IList<Integer> in 3.74ms i.e. 101.9M/s, aver. 0us
100000 sort Integer in 8.64ms i.e. 11M/s, aver. 0us
100000 find Integer in 21.18ms i.e. 4.5M/s, aver. 0us
100000 random Cardinal in 1.21ms i.e. 78.4M/s, aver. 0us
100000 add Cardinal in 1.54ms i.e. 61.6M/s, aver. 0us
100000 getitem Cardinal in 656us i.e. 145.3M/s, aver. 0us
100000 in Cardinal in 258us i.e. 369.6M/s, aver. 0us
400000 IList<Cardinal> in 3.71ms i.e. 102.7M/s, aver. 0us
100000 sort Cardinal in 17.09ms i.e. 5.5M/s, aver. 0us
100000 find Cardinal in 23.17ms i.e. 4.1M/s, aver. 0us
100000 random Int64 in 1.74ms i.e. 54.8M/s, aver. 0us
100000 add Int64 in 1.40ms i.e. 67.8M/s, aver. 0us
100000 getitem Int64 in 460us i.e. 207.3M/s, aver. 0us
100000 in Int64 in 202us i.e. 472.1M/s, aver. 0us
400000 IList<Int64> in 3.82ms i.e. 99.7M/s, aver. 0us
100000 sort Int64 in 9.90ms i.e. 9.6M/s, aver. 0us
100000 find Int64 in 22.83ms i.e. 4.1M/s, aver. 0us
100000 random QWord in 1.83ms i.e. 52M/s, aver. 0us
100000 add QWord in 2.05ms i.e. 46.3M/s, aver. 0us
100000 getitem QWord in 545us i.e. 174.9M/s, aver. 0us
100000 in QWord in 244us i.e. 390.8M/s, aver. 0us
400000 IList<QWord> in 4.70ms i.e. 81M/s, aver. 0us
100000 sort QWord in 8.46ms i.e. 11.2M/s, aver. 0us
100000 find QWord in 22.58ms i.e. 4.2M/s, aver. 0us
100000 random Single in 2.34ms i.e. 40.7M/s, aver. 0us
100000 add Single in 2ms i.e. 47.6M/s, aver. 0us
100000 getitem Single in 382us i.e. 249.6M/s, aver. 0us
100000 in Single in 224us i.e. 425.7M/s, aver. 0us
400000 IList<Single> in 4.99ms i.e. 76.4M/s, aver. 0us
100000 sort Single in 16.69ms i.e. 5.7M/s, aver. 0us
100000 find Single in 20.27ms i.e. 4.7M/s, aver. 0us
100000 random Double in 2.16ms i.e. 44M/s, aver. 0us
100000 add Double in 1.47ms i.e. 64.7M/s, aver. 0us
100000 getitem Double in 464us i.e. 205.5M/s, aver. 0us
100000 in Double in 229us i.e. 416.4M/s, aver. 0us
400000 IList<Double> in 4.34ms i.e. 87.7M/s, aver. 0us
100000 sort Double in 10.25ms i.e. 9.2M/s, aver. 0us
100000 find Double in 21.51ms i.e. 4.4M/s, aver. 0us
100000 random TDateTime in 1.58ms i.e. 60.2M/s, aver. 0us
100000 add TDateTime in 2.32ms i.e. 41M/s, aver. 0us
100000 getitem TDateTime in 884us i.e. 107.8M/s, aver. 0us
100000 in TDateTime in 534us i.e. 178.5M/s, aver. 0us
400000 IList<TDateTime> in 5.36ms i.e. 71.1M/s, aver. 0us
100000 sort TDateTime in 11.49ms i.e. 8.3M/s, aver. 0us
100000 find TDateTime in 25.39ms i.e. 3.7M/s, aver. 0us
100000 random UTF8String in 13.08ms i.e. 7.2M/s, aver. 0us
100000 add UTF8String in 3.53ms i.e. 27M/s, aver. 0us
100000 getitem UTF8String in 1.66ms i.e. 57.1M/s, aver. 0us
100000 in UTF8String in 1.51ms i.e. 62.9M/s, aver. 0us
400000 IList<UTF8String> in 19.83ms i.e. 19.2M/s, aver. 0us
100000 sort UTF8String in 30.10ms i.e. 3.1M/s, aver. 0us
100000 find UTF8String in 48.03ms i.e. 1.9M/s, aver. 0us
100000 random UnicodeString in 14.37ms i.e. 6.6M/s, aver. 0us
100000 add UnicodeString in 2.28ms i.e. 41.6M/s, aver. 0us
100000 getitem UnicodeString in 1.94ms i.e. 49.1M/s, aver. 0us
100000 in UnicodeString in 1.96ms i.e. 48.5M/s, aver. 0us
400000 IList<UnicodeString> in 20.60ms i.e. 18.5M/s, aver. 0us
100000 sort UnicodeString in 25.94ms i.e. 3.6M/s, aver. 0us
100000 find UnicodeString in 45.75ms i.e. 2M/s, aver. 0us
100000 random Variant in 6.38ms i.e. 14.9M/s, aver. 0us
100000 add Variant in 3.20ms i.e. 29.7M/s, aver. 0us
100000 getitem Variant in 6.90ms i.e. 13.8M/s, aver. 0us
100000 in Variant in 5.10ms i.e. 18.6M/s, aver. 0us
400000 IList<Variant> in 21.62ms i.e. 17.6M/s, aver. 0us
100000 sort Variant in 92.81ms i.e. 1M/s, aver. 0us
Total failed: 0 / 5,910,040 - Core collections PASSED 672.58ms
1.5. Core crypto:
- MD5: 166 assertions passed 225us
- SHA1: 8 assertions passed 2.31ms
- SHA256: 40 assertions passed 35.69ms
- SHA512: 32 assertions passed 19.49ms
- SHA3: 8,225 assertions passed 36.40ms
- AES: 72,700 assertions passed 335.15ms
cypher with AES-NI: 95us, without: 1.08ms
- AES_GCM: 215 assertions passed 39us
- RC4: 1,016 assertions passed 1.32ms
- Hashes: 9 assertions passed 52.83ms
- Base64: 12,064 assertions passed 30.91ms
- TAesPNRG: 262,624 assertions passed 314.01ms
100000 mORMot Random32 in 2.46ms i.e. 38.7M/s, aver. 0us, 154.9 MB/s
mORMot FillRandom in 34us, 2.7 GB/s
100000 OpenSSL Random32 in 184.63ms i.e. 528.9K/s, aver. 1us, 2 MB/s
OpenSSL FillRandom in 34us, 2.7 GB/s
- CryptDataForCurrentUser: 5,000 assertions passed 3.12ms
2000 AES-CFB in 2.97ms i.e. 656.9K/s, aver. 1us, 350.7 MB/s
- JWT: 164,915 assertions passed 869.02ms
1000 HS256 in 1.59ms i.e. 612.2K/s, aver. 1us
1000 HS384 in 1.47ms i.e. 662K/s, aver. 1us
1000 HS512 in 1.35ms i.e. 721.7K/s, aver. 1us
1000 S3224 in 1.18ms i.e. 826.1K/s, aver. 1us
1000 S3256 in 1.28ms i.e. 761.7K/s, aver. 1us
1000 S3384 in 2.21ms i.e. 440.6K/s, aver. 2us
1000 S3512 in 1.79ms i.e. 543.7K/s, aver. 1us
1000 S3S128 in 1.17ms i.e. 831.1K/s, aver. 1us
1000 S3S256 in 1.21ms i.e. 801.7K/s, aver. 1us
100 ES256 in 10.57ms i.e. 9.2K/s, aver. 105us
100 RS256 in 3.57ms i.e. 27.2K/s, aver. 35us
100 RS384 in 3.74ms i.e. 26K/s, aver. 37us
100 RS512 in 3.91ms i.e. 24.9K/s, aver. 39us
100 PS256 in 3.91ms i.e. 24.9K/s, aver. 39us
100 PS384 in 4.03ms i.e. 24.1K/s, aver. 40us
100 PS512 in 3.68ms i.e. 26.5K/s, aver. 36us
100 ES256 in 9.60ms i.e. 10.1K/s, aver. 96us
100 ES384 in 88.95ms i.e. 1K/s, aver. 889us
100 ES512 in 70.70ms i.e. 1.3K/s, aver. 707us
100 ES256K in 47.57ms i.e. 2K/s, aver. 475us
100 EdDSA in 13.93ms i.e. 7K/s, aver. 139us
- TBinaryCookieGenerator: 82,944 assertions passed 6.36ms
16384 generate in 1.89ms i.e. 8.2M/s, aver. 0us
16384 validate in 1.27ms i.e. 12.2M/s, aver. 0us
- Catalog: 210 assertions passed 32us
- Benchmark: 110,000 assertions passed 407.94ms
2500 crc32c in 229us i.e. 10.4M/s or 22.6 GB/s
2500 xxhash32 in 825us i.e. 2.8M/s or 6.2 GB/s
2500 crc32 in 338us i.e. 7M/s or 15.3 GB/s
2500 adler32 in 254us i.e. 9.3M/s or 20.4 GB/s
2500 hash32 in 446us i.e. 5.3M/s or 11.6 GB/s
2500 aesnihash in 223us i.e. 10.6M/s or 23.3 GB/s
2500 md5 in 8.45ms i.e. 288.6K/s or 629 MB/s
2500 sha1 in 14.04ms i.e. 173.8K/s or 378.8 MB/s
2500 hmacsha1 in 16.29ms i.e. 149.8K/s or 326.6 MB/s
2500 sha256 in 18.74ms i.e. 130.2K/s or 283.7 MB/s
2500 hmacsha256 in 20.72ms i.e. 117.8K/s or 256.7 MB/s
2500 sha384 in 12.86ms i.e. 189.7K/s or 413.5 MB/s
2500 hmacsha384 in 14.92ms i.e. 163.5K/s or 356.3 MB/s
2500 sha512 in 11.65ms i.e. 209.4K/s or 456.3 MB/s
2500 hmacsha512 in 16.18ms i.e. 150.8K/s or 328.7 MB/s
2500 sha3_256 in 33.77ms i.e. 72.2K/s or 157.5 MB/s
2500 sha3_512 in 59.77ms i.e. 40.8K/s or 89 MB/s
2500 rc4 in 14.03ms i.e. 173.9K/s or 379.1 MB/s
2500 mormot aes-128-cfb in 4.63ms i.e. 526.8K/s or 1.1 GB/s
2500 mormot aes-128-ofb in 4.55ms i.e. 535.5K/s or 1.1 GB/s
2500 mormot aes-128-c64 in 6.27ms i.e. 388.8K/s or 847.3 MB/s
2500 mormot aes-128-ctr in 1.53ms i.e. 1.5M/s or 3.3 GB/s
2500 mormot aes-128-cfc in 5.36ms i.e. 454.7K/s or 0.9 GB/s
2500 mormot aes-128-ofc in 5.55ms i.e. 439.5K/s or 0.9 GB/s
2500 mormot aes-128-ctc in 1.77ms i.e. 1.3M/s or 2.9 GB/s
2500 mormot aes-128-gcm in 2.37ms i.e. 1M/s or 2.1 GB/s
2500 mormot aes-256-cfb in 6.29ms i.e. 387.9K/s or 845.4 MB/s
2500 mormot aes-256-ofb in 6.29ms i.e. 387.5K/s or 844.6 MB/s
2500 mormot aes-256-c64 in 8.05ms i.e. 303K/s or 660.3 MB/s
2500 mormot aes-256-ctr in 1.85ms i.e. 1.2M/s or 2.8 GB/s
2500 mormot aes-256-cfc in 7.04ms i.e. 346.4K/s or 755.1 MB/s
2500 mormot aes-256-ofc in 7.07ms i.e. 345.2K/s or 752.3 MB/s
2500 mormot aes-256-ctc in 2.22ms i.e. 1M/s or 2.3 GB/s
2500 mormot aes-256-gcm in 2.78ms i.e. 878.2K/s or 1.8 GB/s
2500 openssl aes-128-cfb in 7.39ms i.e. 330.1K/s or 719.4 MB/s
2500 openssl aes-128-ofb in 5.41ms i.e. 450.8K/s or 0.9 GB/s
2500 openssl aes-128-ctr in 1.58ms i.e. 1.5M/s or 3.2 GB/s
2500 openssl aes-128-gcm in 2.09ms i.e. 1.1M/s or 2.4 GB/s
2500 openssl aes-256-cfb in 9.45ms i.e. 258.1K/s or 562.5 MB/s
2500 openssl aes-256-ofb in 7.22ms i.e. 337.8K/s or 736.3 MB/s
2500 openssl aes-256-ctr in 1.90ms i.e. 1.2M/s or 2.7 GB/s
2500 openssl aes-256-gcm in 2.35ms i.e. 1M/s or 2.2 GB/s
2500 shake128 in 24.28ms i.e. 100.5K/s or 219 MB/s
2500 shake256 in 28.16ms i.e. 86.6K/s or 188.8 MB/s
Total failed: 0 / 720,168 - Core crypto PASSED 2.11s
1.6. Core ecc:
- Reference vectors: 23 assertions passed 6.15ms
- ECC: 1,803 assertions passed 99.52ms
300 Ecc256r1MakeKey in 7ms i.e. 41.8K/s, aver. 23us
300 Ecc256r1Sign in 8.22ms i.e. 35.6K/s, aver. 27us
300 Ecc256r1Verify in 32.34ms i.e. 9K/s, aver. 107us
598 Ecc256r1SharedSecret in 47.74ms i.e. 12.2K/s, aver. 79us
- Certificates and signatures: 91 assertions passed 7.85ms
- Ecc command line tool: 704 assertions passed 129.87ms
- ECDHE stream protocol: 63,393 assertions passed 386.94ms
100 efAesCrc128 in 1.31ms i.e. 74.5K/s, aver. 13us, 1.3 GB/s
100 efAesCfb128 in 1.33ms i.e. 73.2K/s, aver. 13us, 1.3 GB/s
100 efAesOfb128 in 1.83ms i.e. 53.1K/s, aver. 18us, 0.9 GB/s
100 efAesCtr128 in 817us i.e. 119.5K/s, aver. 8us, 2.2 GB/s
100 efAesCbc128 in 3ms i.e. 32.5K/s, aver. 30us, 614.4 MB/s
100 efAesCrc256 in 1.44ms i.e. 67.7K/s, aver. 14us, 1.2 GB/s
100 efAesCfb256 in 1.89ms i.e. 51.5K/s, aver. 18us, 0.9 GB/s
100 efAesOfb256 in 2.23ms i.e. 43.6K/s, aver. 22us, 824.6 MB/s
100 efAesCtr256 in 741us i.e. 131.7K/s, aver. 7us, 2.4 GB/s
100 efAesCbc256 in 2.19ms i.e. 44.5K/s, aver. 21us, 841.5 MB/s
100 efAesGcm128 in 508us i.e. 192.2K/s, aver. 5us, 3.5 GB/s
100 efAesGcm256 in 669us i.e. 145.9K/s, aver. 6us, 2.6 GB/s
100 efAesCtc128 in 557us i.e. 175.3K/s, aver. 5us, 3.2 GB/s
100 efAesCtc256 in 665us i.e. 146.8K/s, aver. 6us, 2.7 GB/s
- OpenSSL: 532 assertions passed 725.34ms
3 RSA 2048 Generation in 438.51ms i.e. 6/s, aver. 146.17ms
30 RSA 2048 Sign in 33.91ms i.e. 884/s, aver. 1.13ms
30 RSA 2048 Verify in 1.02ms i.e. 28.6K/s, aver. 34us
3 RSA-PSS 2048 Generation in 164.17ms i.e. 18/s, aver. 54.72ms
30 RSA-PSS 2048 Sign in 33.12ms i.e. 905/s, aver. 1.10ms
30 RSA-PSS 2048 Verify in 1.06ms i.e. 27.4K/s, aver. 35us
100 prime256v1 Generation in 7.13ms i.e. 13.6K/s, aver. 71us
100 prime256v1 Sign in 7.43ms i.e. 13.1K/s, aver. 74us
100 prime256v1 Verify in 10.51ms i.e. 9.2K/s, aver. 105us
100 ed25519 Generation in 5.55ms i.e. 17.5K/s, aver. 55us
100 ed25519 Sign in 9.02ms i.e. 10.8K/s, aver. 90us
100 ed25519 Verify in 13.30ms i.e. 7.3K/s, aver. 133us
Total failed: 0 / 66,546 - Core ecc PASSED 1.35s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 1.25s
- Tunneling: no assertion 100.39ms
Total failed: 0 / 1,900 - Network protocols PASSED 1.35s
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 347us
- TOrmSigned: 200 assertions passed 3.13ms
- TOrmModel: 16 assertions passed 53us
- TRestServerFullMemory: 1,130,745 assertions passed 732.01ms
Total failed: 0 / 1,131,054 - Orm core PASSED 735.60ms
2.2. Sqlite file:
- Database direct access: 22,284 assertions passed 55.61ms
- Virtual table direct access: 12 assertions passed 409us
- TOrmTableJson: 144,083 assertions passed 60.58ms
- TRestClientDB: 608,198 assertions passed 797.36ms
- Regexp function: 6,015 assertions passed 9.82ms
- TRecordVersion: 20,060 assertions passed 58.25ms
Total failed: 0 / 800,652 - Sqlite file PASSED 982.14ms
2.3. Sqlite file WAL:
- Database direct access: 22,284 assertions passed 66.43ms
- Virtual table direct access: 12 assertions passed 346us
- TOrmTableJson: 144,083 assertions passed 56.97ms
- TRestClientDB: 608,198 assertions passed 799.44ms
- Regexp function: 6,015 assertions passed 11.47ms
- TRecordVersion: 20,060 assertions passed 50.42ms
Total failed: 0 / 800,652 - Sqlite file WAL PASSED 985.18ms
2.4. Sqlite file memory map:
- Database direct access: 22,264 assertions passed 53.27ms
- Virtual table direct access: 12 assertions passed 303us
- TOrmTableJson: 144,083 assertions passed 57.69ms
- TRestClientDB: 608,196 assertions passed 723.71ms
- Regexp function: 6,015 assertions passed 9.58ms
- TRecordVersion: 20,060 assertions passed 52.28ms
Total failed: 0 / 800,630 - Sqlite file memory map PASSED 896.93ms
2.5. Sqlite memory:
- Database direct access: 22,264 assertions passed 47.16ms
- Virtual table direct access: 12 assertions passed 297us
- TOrmTableJson: 144,083 assertions passed 57.14ms
- TRestClientDB: 676,505 assertions passed 1.05s
- Regexp function: 6,015 assertions passed 11.98ms
- TRecordVersion: 20,060 assertions passed 49.75ms
- TOrmTableWritable: 24,056 assertions passed 2.53ms
- RTree: 280,024 assertions passed 935.37ms
10000 With RTree in 472.20ms i.e. 20.6K/s, aver. 47us
10000 With RTreeInteger in 461.17ms i.e. 21.1K/s, aver. 46us
- Shard write: 10,602 assertions passed 107.55ms
- Shard read: 140,001 assertions passed 171.59ms
- Shard read after purge: 114,003 assertions passed 144.14ms
- MaxShardCount: 144,002 assertions passed 153.18ms
Total failed: 0 / 1,581,627 - Sqlite memory PASSED 2.73s
2.6. External database:
- SynDBRemote: 35,589 assertions passed 320.09ms
- DB properties persistence: 7 assertions passed 301us
- External records: 2 assertions passed 331us
- Auto adapt SQL: 1,041 assertions passed 3.18ms
- Crypted database: 253,277 assertions passed 156.24ms
- External via REST: 170,355 assertions passed 569.93ms
- External via virtual table: 170,355 assertions passed 1.05s
- External via REST with change tracking: 180,455 assertions passed 1.35s
Total failed: 0 / 811,081 - External database PASSED 3.46s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 3.07ms
using Debian 5.10.0 epoll
- TRestHttpClient: 4 assertions passed 7.24ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 63.20ms
4.7 KB, first 1.37ms, done 58.26ms i.e. 17162/s, aver. 58us, 78.9 MB/s
- HTTP client multi connect: 4,088 assertions passed 104.75ms
4.7 KB, first 188us, done 99.51ms i.e. 10048/s, aver. 99us, 46.2 MB/s
- Direct in process access: 4,057 assertions passed 16.10ms
4.7 KB, first 28us, done 14.33ms i.e. 69759/s, aver. 14us, 320.8 MB/s
- HTTP several DB servers: 12,607 assertions passed 200.09ms
4.7 KB, first 199us, done 48.63ms i.e. 20560/s, aver. 48us, 94.5 MB/s
4.7 KB, first 169us, done 52.73ms i.e. 18962/s, aver. 52us, 87.2 MB/s
4.7 KB, first 173us, done 49.10ms i.e. 20363/s, aver. 49us, 93.6 MB/s
Total failed: 0 / 24,846 - Client server access PASSED 400.92ms
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 3.09ms
- TRestServerDB: 7,302 assertions passed 101.95ms
1=32171/s 2=38260/s 5=45840/s 10=34954/s 30=38180/s 50=34230/s
- TRestClientDB: 7,302 assertions passed 104.19ms
1=49398/s 2=46696/s 5=33145/s 10=43541/s 30=26538/s 50=28561/s
- TCP sockets: 7,302 assertions passed 277.22ms
1=9938/s 2=12297/s 5=14791/s 10=15118/s 30=17015/s 50=15481/s
- Unix domain sockets: 7,301 assertions passed 212.66ms
1=10292/s 2=19605/s 5=23489/s 10=25535/s 30=19413/s 50=18011/s
- Websockets: 7,299 assertions passed 419.61ms
1=6109/s 2=10740/s 5=10370/s 10=12849/s 30=11787/s 50=6175/s
- libcurl: 7,288 assertions passed 568.80ms
1=9127/s 2=12830/s 5=13592/s 10=5140/s 30=6269/s 50=6932/s
- Locked: 7,300 assertions passed 263.61ms
1=14775/s 2=14002/s 5=14376/s 10=12959/s 30=10291/s 50=21545/s
- Unlocked: 7,299 assertions passed 115.19ms
1=36090/s 2=23182/s 5=31655/s 10=34610/s 30=39100/s 50=35707/s
- Main thread: 7,300 assertions passed 187.38ms
1=26505/s 2=16910/s 5=18733/s 10=21266/s 30=17458/s 50=19666/s
- Background thread: 7,298 assertions passed 300.88ms
1=18063/s 2=17986/s 5=12281/s 10=16390/s 30=8725/s 50=7910/s
Total failed: 0 / 72,992 - Multi thread process PASSED 2.61s
3. SOA
3.1. Core script:
- Quick JS low level: 40,057 assertions passed 98.33ms
Total failed: 0 / 40,057 - Core script PASSED 98.37ms
3.2. Network protocols:
- Rtsp over http: 1,900 assertions passed 1.26s
- Tunneling: no assertion 100.19ms
Total failed: 0 / 1,900 - Network protocols PASSED 1.36s
3.3. Service oriented architecture:
- Weak interfaces: 56 assertions passed 47us
- Service initialization: 268 assertions passed 1.89ms
- Direct call: 606,564 assertions passed 21.81ms
- Server side: 606,584 assertions passed 26.30ms
- Client side REST: 808,779 assertions passed 799.34ms
- Client side REST as json object: 808,773 assertions passed 579.99ms
- Client side REST sessions stats: 808,773 assertions passed 618.23ms
- Client side REST locked: 808,777 assertions passed 545.92ms
- Client side REST main thread: 808,777 assertions passed 2.29s
- Client side REST background thread: 808,777 assertions passed 2.09s
- Client side REST sign with crc 32c: 808,773 assertions passed 559.19ms
- Client side REST sign with xxhash: 808,773 assertions passed 586ms
- Client side REST sign with md 5: 808,773 assertions passed 555.07ms
- Client side REST sign with sha 256: 808,773 assertions passed 901.55ms
- Client side REST sign with sha 512: 808,773 assertions passed 1.07s
- Client side REST weak authentication: 808,773 assertions passed 788.73ms
- Client side REST basic authentication: 808,773 assertions passed 799.75ms
- Client side REST custom record layout: 808,773 assertions passed 684.83ms
- Client side REST service log to DB: 808,773 assertions passed 1.13s
- Client side json RPC: 808,773 assertions passed 617.97ms
- Test over HTTP: 10,987 assertions passed 134.51ms
- Security: 139 assertions passed 1.03ms
- Mocks and stubs: 30,030 assertions passed 30.78ms
Total failed: 0 / 14,195,014 - Service oriented architecture PASSED 14.85s
3.4. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 5.66ms
- Run http server: 2 assertions passed 2.69ms
- Soa callback on server side: 4,580 assertions passed 1.68ms
- Soa callback via json websockets: 6,898 assertions passed 387.31ms
- Soa callback via binary websockets: 6,898 assertions passed 382.06ms
- Relay start: 4 assertions passed 10.71ms
- Relay soa callback via json websockets: 6,899 assertions passed 461.37ms
- Relay connection recreate: 1 assertion passed 2.16ms
- Relay soa callback via binary websockets: 6,899 assertions passed 545.87ms
- Relay shutdown: 2 assertions passed 124.77ms
- TRecordVersion: 20,068 assertions passed 176.58ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 2.10s
Generated with: Free Pascal 3.2 64 bit Linux compiler
Time elapsed for all tests: 44.72s
Performed 2021-07-09 22:41:19 by abouchez on tisab
Total assertions failed for all test suits: 0 / 47,739,140
! All tests passed successfully.
Flags: pause debug repmemleak
Small: blocks=17K size=1MB (part of Medium arena)
Medium: 10MB/128MB peak=26MB current=8 alloc=103 free=95 sleep=0
Large: 0B/4GB peak=22MB current=0 alloc=1K free=1K sleep=0
Total Sleep: count=72
Small Sleep: getmem=0 freemem=72
freemem(48)=13 freemem(64)=9 freemem(64)=9 freemem(48)=7
freemem(48)=7 freemem(96)=5 freemem(48)=3 freemem(64)=3
Small Blocks since beginning: 64M/6GB
48=24M 64=12M 32=6M 80=5M 128=3M 160=2M 96=2M 672=1M
240=1M 112=891K 144=742K 192=736K 224=637K 176=281K 288=245K 528=205K
Small Blocks current: 17K/1MB
64=6K 48=5K 80=3K 96=769 352=427 32=329 112=166 128=135
160=104 192=47 256=40 624=35 144=33 384=28 576=28 304=18
abouchez@tisab:~/dev/lib2/test/fpc/bin/x86_64-linux$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment