Skip to content

Instantly share code, notes, and snippets.

@synopse
Created January 9, 2019 15:12
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/015a8926fabd9f132b11ab1d5df56c03 to your computer and use it in GitHub Desktop.
Save synopse/015a8926fabd9f132b11ab1d5df56c03 to your computer and use it in GitHub Desktop.
- TSynQueue: 6,541,501 assertions passed 285.98ms
Total failed: 0 / 18,832,979 - Low level common PASSED 4.26s
1.2. Low level types:
- RTTI: 443 assertions passed 698us
- Url encoding: 200 assertions passed 620us
- Encode decode JSON: 416,581 assertions passed 166.69ms
- Variants: 66 assertions passed 893us
- Mustache renderer: 147 assertions passed 2.53ms
- TDocVariant: 71,777 assertions passed 116.85ms
- TDecimal128: 17,446 assertions passed 2.34ms
- BSON: 245,069 assertions passed 9.46ms
100000 TBSONObjectID.ComputeNew in 8.11ms i.e. 12,324,377/s, aver. 0us
- TSynTableStatement: 221 assertions passed 292us
- TSynMonitorUsage: 1,202 assertions passed 232us
Total failed: 0 / 753,152 - Low level types PASSED 304.94ms
1.3. Big table:
- TSynBigTable: 19,173 assertions passed 62.36ms
- TSynBigTableString: 16,047 assertions passed 25.80ms
- TSynBigTableMetaData: 475,563 assertions passed 839.64ms
- TSynBigTableRecord: 375,563 assertions passed 1.30s
Total failed: 0 / 886,346 - Big table PASSED 2.23s
1.4. Synopse PDF:
- TPdfDocument: 4 assertions passed 4.05ms
- TPdfDocumentGDI: 5 assertions passed 57.12ms
Total failed: 0 / 9 - Synopse PDF PASSED 62.80ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 650us
- MD5: 167 assertions passed 401us
- SHA1: 17 assertions passed 11.40ms
- SHA256: 40 assertions passed 64.15ms
using SSE4 instruction set
- SHA512: 27 assertions passed 33.89ms
- SHA3: 8,225 assertions passed 67.47ms
- AES256: 22,762 assertions passed 381.25ms
cypher 1..450 bytes with AES-NI: 419us, without: 1.60ms
- RC4: 1,011 assertions passed 4.05ms
- Base64: 13,992 assertions passed 194.80ms
- CompressShaAes: 1,683 assertions passed 4.88ms
- TAESPNRG: 27,303 assertions passed 68.95ms
- CryptDataForCurrentUser: 5,000 assertions passed 13.03ms
2000 AES-CFB in 9ms i.e. 222,074/s, aver. 4us, 115.7 MB/s
- CryptDataForCurrentUserAPI: 5,000 assertions passed 770.54ms
2000 DPAPI in 769.32ms i.e. 2,599/s, aver. 384us, 1.5 MB/s
- JWT: 162,734 assertions passed 257.56ms
1000 HS256 in 1.75ms i.e. 569,476/s, aver. 1us
1000 HS384 in 1.92ms i.e. 520,291/s, aver. 1us
1000 HS512 in 1.98ms i.e. 503,778/s, aver. 1us
1000 S3224 in 1.74ms i.e. 571,755/s, aver. 1us
1000 S3256 in 1.77ms i.e. 563,697/s, aver. 1us
1000 S3384 in 2.26ms i.e. 441,306/s, aver. 2us
1000 S3512 in 2.22ms i.e. 448,833/s, aver. 2us
1000 S3S128 in 1.78ms i.e. 559,910/s, aver. 1us
1000 S3S256 in 1.81ms i.e. 550,964/s, aver. 1us
100 ES256 in 91.47ms i.e. 1,093/s, aver. 914us
- Benchmark: 55,000 assertions passed 543.97ms
2500 crc32c in 320us i.e. 7812500/s or 16.2 GB/s
2500 xxhash32 in 1ms i.e. 2497502/s or 5.1 GB/s
2500 md5 in 11.64ms i.e. 214758/s or 457 MB/s
2500 sha1 in 36.86ms i.e. 67815/s or 144.3 MB/s
2500 hmacsha1 in 40.68ms i.e. 61450/s or 130.7 MB/s
2500 sha256 in 24.76ms i.e. 100944/s or 214.8 MB/s
2500 hmacsha256 in 27.77ms i.e. 90009/s or 191.5 MB/s
2500 sha512 in 16.85ms i.e. 148288/s or 315.5 MB/s
2500 hmacsha512 in 20.99ms i.e. 119087/s or 253.4 MB/s
2500 sha3_256 in 51.78ms i.e. 48279/s or 102.7 MB/s
2500 sha3_512 in 92.56ms i.e. 27008/s or 57.4 MB/s
2500 rc4 in 17.95ms i.e. 139229/s or 296.3 MB/s
2500 aes128cfb in 15.39ms i.e. 162432/s or 345.6 MB/s
2500 aes128ofb in 10.57ms i.e. 236406/s or 503.1 MB/s
2500 aes128cfbcrc in 16.65ms i.e. 150141/s or 319.5 MB/s
2500 aes128ofbcrc in 12.93ms i.e. 193259/s or 411.2 MB/s
2500 aes256cfb in 19.02ms i.e. 131440/s or 279.7 MB/s
2500 aes256ofb in 15.09ms i.e. 165595/s or 352.4 MB/s
2500 aes256cfbcrc in 20.22ms i.e. 123609/s or 263 MB/s
2500 aes256ofbcrc in 16.42ms i.e. 152216/s or 323.9 MB/s
2500 shake128 in 32.54ms i.e. 76823/s or 163.4 MB/s
2500 shake256 in 40.99ms i.e. 60984/s or 129.7 MB/s
Total failed: 0 / 302,962 - Cryptographic routines PASSED 2.43s
1.6. ECC cryptography:
- Reference vectors: 23 assertions passed 15.83ms
- ecc_make_key: 200 assertions passed 145.15ms
- ecdsa_sign: 200 assertions passed 152.80ms
- ecdsa_verify: 200 assertions passed 197.99ms
- ecdh_shared_secret: 597 assertions passed 318.81ms
- Certificates and signatures: 91 assertions passed 39.52ms
- ECC command line tool: 469 assertions passed 358.67ms
- ECDHE stream protocol: 521,295 assertions passed 888.53ms
Total failed: 0 / 523,075 - ECC cryptography PASSED 2.12s
1.7. Compression:
- In memory compression: 12 assertions passed 566.65ms
- GZIP format: 29 assertions passed 1.50s
- ZIP format: 76 assertions passed 4.69s
- SynLZO: 3,006 assertions passed 394.36ms
- SynLZ: 23,288 assertions passed 377.92ms
- TAlgoCompress: 914 assertions passed 284.01ms
TAlgoSynLZ 169.4 KB->78.6 KB: comp 195:90MB/s decomp 268:578MB/s
TAlgoLizard 169.3 KB->65.9 KB: comp 3:1MB/s decomp 218:560MB/s
TAlgoLizardFast 169.1 KB->87 KB: comp 178:92MB/s decomp 414:805MB/s
TAlgoLizardHuffman 169.3 KB->81.4 KB: comp 1:0MB/s decomp 163:340MB/s
TAlgoDeflate 169.2 KB->38.2 KB: comp 10:2MB/s decomp 27:120MB/s
TAlgoDeflateFast 169.3 KB->46.9 KB: comp 47:13MB/s decomp 36:131MB/s
Total failed: 0 / 27,325 - Compression PASSED 7.83s
1.8. Protocols:
- RTSP over HTTP: 1,900 assertions passed 420.25ms
Total failed: 0 / 1,900 - Protocols PASSED 421.17ms
2. mORMot
2.1. File based:
- Database direct access: 22,258 assertions passed 226.46ms
- Virtual table direct access: 12 assertions passed 3.21ms
- TSQLTableJSON: 149,085 assertions passed 123.82ms
- TSQLRestClientDB: 615,199 assertions passed 4.33s
- Regexp function: 6,016 assertions passed 22.53ms
- TRecordVersion: 20,060 assertions passed 112.40ms
Total failed: 0 / 812,630 - File based PASSED 4.82s
2.2. File based memory map:
- Database direct access: 22,258 assertions passed 108.27ms
- Virtual table direct access: 12 assertions passed 1.96ms
- TSQLTableJSON: 149,085 assertions passed 87.55ms
- TSQLRestClientDB: 615,199 assertions passed 4.38s
- Regexp function: 6,016 assertions passed 38.50ms
- TRecordVersion: 20,060 assertions passed 108.62ms
Total failed: 0 / 812,630 - File based memory map PASSED 4.73s
2.3. File based WAL:
- Database direct access: 22,258 assertions passed 106.51ms
- Virtual table direct access: 12 assertions passed 1.79ms
- TSQLTableJSON: 149,085 assertions passed 116.93ms
- TSQLRestClientDB: 615,199 assertions passed 4.88s
- Regexp function: 6,016 assertions passed 21.98ms
- TRecordVersion: 20,060 assertions passed 129.47ms
Total failed: 0 / 812,630 - File based WAL PASSED 5.26s
2.4. Memory based:
- Database direct access: 22,258 assertions passed 155.24ms
- Virtual table direct access: 12 assertions passed 2ms
- TSQLTableJSON: 149,085 assertions passed 92.64ms
- TSQLRestClientDB: 683,507 assertions passed 5.69s
- Regexp function: 6,016 assertions passed 29.95ms
- TRecordVersion: 20,060 assertions passed 142.85ms
- TSQLTableWritable: 24,056 assertions passed 4.41ms
- RTree: 280,024 assertions passed 1.67s
10000 With RTree in 890.85ms i.e. 11,225/s, aver. 89us
10000 With RTreeInteger in 774.50ms i.e. 12,911/s, aver. 77us
- Shard write: 10,602 assertions passed 279.56ms
- Shard read: 140,001 assertions passed 354.94ms
- Shard read after purge: 114,003 assertions passed 310.01ms
- MaxShardCount: 144,002 assertions passed 289.39ms
Total failed: 0 / 1,593,626 - Memory based PASSED 9.05s
2.5. Basic classes:
- TSQLRecord: 88 assertions passed 930us
- TSQLRecordSigned: 200 assertions passed 3.66ms
- TSQLModel: 16 assertions passed 654us
- TSQLRestServerFullMemory: 1,222,461 assertions passed 1.09s
Total failed: 0 / 1,222,765 - Basic classes PASSED 1.10s
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 6.09ms
using HTTP API 2.0
- TSQLHttpClient: 4 assertions passed 43.96ms
using TSQLHttpClientWinHTTP
- HTTP client keep alive: 4,087 assertions passed 417.72ms
4.7 KB, first 9.35ms, done 389.18ms i.e. 2569/s, aver. 389us, 12 MB/s
- HTTP client multi connect: 4,087 assertions passed 833.03ms
4.7 KB, first 9.63ms, done 775.12ms i.e. 1290/s, aver. 775us, 6 MB/s
- HTTP client encrypted: 4,087 assertions passed 403.62ms
4.7 KB, first 7.67ms, done 378.22ms i.e. 2643/s, aver. 378us, 12.3 MB/s
- HTTP client custom encryption aes sha: 4,087 assertions passed 391.90ms
4.7 KB, first 525us, done 370.45ms i.e. 2699/s, aver. 370us, 12.6 MB/s
- HTTP client custom encryption aes: 4,087 assertions passed 408.64ms
4.7 KB, first 394us, done 391.34ms i.e. 2555/s, aver. 391us, 11.9 MB/s
- HTTP client custom encryption sha: 4,087 assertions passed 408.16ms
4.7 KB, first 369us, done 390.52ms i.e. 2560/s, aver. 390us, 11.9 MB/s
- Named pipe access: 4,089 assertions passed 616.28ms
4.7 KB, first 247.38ms, done 135.41ms i.e. 7384/s, aver. 135us, 34.5 MB/s
- Local window messages: 4,088 assertions passed 39.68ms
4.7 KB, first 234us, done 34.82ms i.e. 28715/s, aver. 34us, 134.2 MB/s
- Direct in process access: 4,056 assertions passed 35.27ms
4.7 KB, first 30us, done 25.98ms i.e. 38488/s, aver. 25us, 179.9 MB/s
- HTTP several DB servers: 12,604 assertions passed 1.34s
4.7 KB, first 529us, done 356.50ms i.e. 2805/s, aver. 356us, 13.1 MB/s
4.7 KB, first 530us, done 378.64ms i.e. 2641/s, aver. 378us, 12.3 MB/s
4.7 KB, first 552us, done 373.02ms i.e. 2680/s, aver. 373us, 12.5 MB/s
Total failed: 0 / 49,365 - Client server access PASSED 4.96s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 1.01ms
- Service initialization: 267 assertions passed 5.80ms
- Direct call: 606,564 assertions passed 47.54ms
- Server side: 606,584 assertions passed 41.46ms
- Client side REST: 808,779 assertions passed 1.02s
- Client side REST as JSON object: 808,773 assertions passed 1.05s
- Client side REST sessions stats: 808,773 assertions passed 1.12s
- Client side REST locked: 808,777 assertions passed 1.02s
- Client side REST main thread: 808,777 assertions passed 3.69s
- Client side REST background thread: 808,777 assertions passed 3.17s
- Client side REST sign with crc 32c: 808,773 assertions passed 979.28ms
- Client side REST sign with xxhash: 808,773 assertions passed 968.66ms
- Client side REST sign with md 5: 808,773 assertions passed 1.01s
- Client side REST sign with sha 256: 808,773 assertions passed 1.06s
- Client side REST sign with sha 512: 808,773 assertions passed 1.17s
- Client side REST weak authentication: 808,773 assertions passed 1.04s
- Client side REST basic authentication: 808,773 assertions passed 1.34s
- Client side REST custom record layout: 808,773 assertions passed 1.02s
- Client side REST service log to DB: 808,773 assertions passed 2.85s
- Client side JSONRPC: 808,773 assertions passed 1.06s
- Test over HTTP: 10,987 assertions passed 925.29ms
- Security: 139 assertions passed 1.74ms
- Mocks and stubs: 30,032 assertions passed 78.45ms
Total failed: 0 / 14,195,015 - Service oriented architecture PASSED 24.75s
2.8. Bidirectional remote connection:
- Websockets JSON protocol: 60 assertions passed 269us
- Websockets binary protocol: 240 assertions passed 278us
- Run http server: 2 assertions passed 852us
- SOA callback on server side: 4,580 assertions passed 1.43ms
- SOA callback via JSON websockets: 4,583 assertions passed 227.90ms
- SOA callback via binary websockets: 4,583 assertions passed 195.94ms
- TRecordVersion: 20,068 assertions passed 138.20ms
Total failed: 0 / 34,116 - Bidirectional remote connection PASSED 565.61ms
2.9. External database:
- TQuery: 2,003 assertions passed 23.02ms
- SynDBRemote: 42,707 assertions passed 457.13ms
- DB properties persistence: 7 assertions passed 1.04ms
- External records: 2 assertions passed 277us
- Auto adapt SQL: 942 assertions passed 7.46ms
- Crypted database: 176,193 assertions passed 137.15ms
- External via REST: 170,355 assertions passed 984.16ms
- External via virtual table: 170,355 assertions passed 2.09s
- External via REST with change tracking: 180,455 assertions passed 2.85s
Total failed: 0 / 743,019 - External database PASSED 6.56s
2.10. Multi thread process:
- Create thread pool: 1 assertion passed 2.71ms
- TSQLRestServerDB: 4,822 assertions passed 1.05s
1=17474/s 2=18664/s 5=7541/s 10=3794/s 30=1278/s 50=770/s
- TSQLRestClientDB: 4,822 assertions passed 1.07s
1=10121/s 2=18413/s 5=7875/s 10=3866/s 30=1292/s 50=770/s
- TSQLRestClientURINamedPipe: 2,412 assertions passed 1.65s
1=1189/s 2=1174/s 5=537/s
- TSQLRestClientURIMessage: 3,222 assertions passed 429.72ms
1=3873/s 2=6326/s 5=4339/s 10=2646/s
- Windows API: 4,822 assertions passed 1.42s
1=2088/s 2=2805/s 5=3756/s 10=3020/s 30=1260/s 50=768/s
- Socket API: 4,822 assertions passed 1.32s
1=4280/s 2=5954/s 5=5659/s 10=3744/s 30=1243/s 50=748/s
- Websockets: 4,822 assertions passed 1.38s
1=3065/s 2=4583/s 5=5260/s 10=3770/s 30=1242/s 50=750/s
- Locked: 4,822 assertions passed 1.07s
1=9721/s 2=17094/s 5=7828/s 10=3925/s 30=1294/s 50=764/s
- Unlocked: 4,822 assertions passed 1.11s
1=9228/s 2=8653/s 5=7851/s 10=3844/s 30=1256/s 50=762/s
- Main thread: 4,822 assertions passed 1.37s
1=7620/s 2=6782/s 5=3620/s 10=2299/s 30=1094/s 50=668/s
- Background thread: 4,822 assertions passed 1.07s
1=13033/s 2=10176/s 5=7832/s 10=3884/s 30=1297/s 50=768/s
Total failed: 0 / 49,033 - Multi thread process PASSED 12.98s
2.11. DDD shared units:
- User model: 3,276 assertions passed 1.17ms
- Authentication model: 20,006 assertions passed 114.94ms
- Email validation process: 55 assertions passed 36.66ms
- User CQRS repository: 57,106 assertions passed 463.99ms
Total failed: 0 / 80,443 - DDD shared units PASSED 618.53ms
2.12. DDD multi thread:
- Delete old database: 1 assertion passed 742us
- Start server: 1 assertion passed 33.07ms
- Single client test: 1,002 assertions passed 347.60ms
- Multi threaded clients test: 21 assertions passed 356.80ms
Total failed: 0 / 1,025 - DDD multi thread PASSED 738.98ms
Windows 10 64bit (10.0.17134) (cp1252)
4 x Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz (x64)
Using mORMot 1.18.4949
TSQLite3LibraryDynamic 3.26.0 with internal MM
Generated with: Delphi 10.3 Rio 64 bit compiler
Time elapsed for all tests: 1m36
Performed 2019-01-09 16:10:19 by User on ACER
Total assertions failed for all test suits: 0 / 41,734,045
! All tests passed successfully.
Done - Press ENTER to Exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment