Created
April 23, 2020 10:08
-
-
Save synopse/cead42e18fd38d4ab014b9755582069c to your computer and use it in GitHub Desktop.
mORMot 1.18.5960 on FPC 3.2 with HeapTRC
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
Synopse mORMot Framework Automated tests | |
------------------------------------------ | |
1. Synopse libraries | |
1.1. Low level common: | |
- System copy record: 162 assertions passed 28us | |
- TRawUTF8List: 190,172 assertions passed 290.02ms | |
- TDynArray: 1,092,814 assertions passed 448.42ms | |
- TDynArrayHashed: 1,599,067 assertions passed 1.98s | |
- TSynDictionary: 139,850 assertions passed 447.51ms | |
- TSynQueue: 6,541,501 assertions passed 416.50ms | |
- TObjectListHashed: 2,996,100 assertions passed 2.21s | |
- TObjectListSorted: 79,922 assertions passed 152.66ms | |
- TSynNameValue: 40,032 assertions passed 115.51ms | |
- TRawUTF8Interning: 2,000,013 assertions passed 1.51s | |
500000 interning 8 KB in 695.08ms i.e. 719,338/s, aver. 1us, 10.9 MB/s | |
500000 direct 7.6 MB in 377.73ms i.e. 1,323,693/s, aver. 0us, 20.1 MB/s | |
- TObjectDynArrayWrapper: 167,501 assertions passed 175.43ms | |
- TObjArray: 3,230 assertions passed 5.24ms | |
- Custom RTL: 116,328 assertions passed 551.51ms | |
FillChar in 24.07ms, 16.1 GB/s | |
Move in 1.90ms, 8.1 GB/s | |
small Move in 8.62ms, 2.5 GB/s | |
big Move in 54.60ms, 7.1 GB/s | |
FillCharFast [] in 14.13ms, 27.4 GB/s | |
MoveFast [] in 1.85ms, 8.4 GB/s | |
small MoveFast [] in 6.48ms, 3.3 GB/s | |
big MoveFast [] in 39.87ms, 9.7 GB/s | |
FillCharFast [cpuAVX] in 11.80ms, 32.9 GB/s | |
MoveFast [cpuAVX] in 1.63ms, 9.5 GB/s | |
small MoveFast [cpuAVX] in 6.51ms, 3.3 GB/s | |
big MoveFast [cpuAVX] in 40.30ms, 9.6 GB/s | |
- Fast string compare: 71 assertions passed 13us | |
- IdemPropName: 216 assertions passed 274us | |
- Url encoding: 152 assertions passed 1.31ms | |
- GUID: 10,005 assertions passed 54.68ms | |
- ParseCommandArguments: 232 assertions passed 97us | |
- IsMatch: 4,250 assertions passed 245us | |
- TExprParserMatch: 140 assertions passed 266us | |
- Soundex: 35 assertions passed 16us | |
- Numerical conversions: 2,536,504 assertions passed 3.06s | |
100000 FloatToText in 212.45ms i.e. 470,683/s, aver. 2us, 8.5 MB/s | |
100000 str in 41.46ms i.e. 2,411,439/s, aver. 0us, 55.1 MB/s | |
100000 DoubleToShort in 13.73ms i.e. 7,282,790/s, aver. 0us, 145.9 MB/s | |
100000 DoubleToAscii in 13.31ms i.e. 7,509,198/s, aver. 0us, 151.9 MB/s | |
- Integers: 33,860 assertions passed 49.41ms | |
- crc32c: 300,098 assertions passed 108.33ms | |
pas 266.8 MB/s fast 1.2 GB/s sse42 5.1 GB/s sse42+aesni 6.7 GB/s | |
- Random32: 201,002 assertions passed 36.07ms | |
- Bloom filters: 2,010,072 assertions passed 356.49ms | |
- DeltaCompress: 87 assertions passed 14.83ms | |
- Curr 64: 20,056 assertions passed 8.18ms | |
- CamelCase: 11 assertions passed 42us | |
- Bits: 32,657 assertions passed 40.14ms | |
- Ini files: 7,028 assertions passed 51.44ms | |
- UTF8: 1,067,793 assertions passed 1.23s | |
- Url decoding: 1,101 assertions passed 850us | |
- Baudot code: 10,007 assertions passed 69.38ms | |
- Iso 8601 date and time: 196,831 assertions passed 79.83ms | |
- Time zones: 400 assertions passed 200.69ms | |
- Mime types: 30 assertions passed 391us | |
- Quick select: 4,015 assertions passed 158.08ms | |
- TSynTable: 875 assertions passed 15.71ms | |
- TSynCache: 404 assertions passed 359us | |
- TSynFilter: 804 assertions passed 6.24ms | |
- TSynValidate: 677 assertions passed 2.88ms | |
- TSynLogFile: 43 assertions passed 776us | |
- TSynUniqueIdentifier: 1,300,002 assertions passed 2.66s | |
Total failed: 0 / 22,706,150 - Low level common PASSED 16.54s | |
1.2. Low level types: | |
- RTTI: 1,340 assertions passed 2.69ms | |
- Url encoding: 200 assertions passed 1.75ms | |
- Encode decode JSON: 428,547 assertions passed 823ms | |
- Wiki markdown to html: 56 assertions passed 313us | |
- Variants: 88 assertions passed 104us | |
- Mustache renderer: 153 assertions passed 5ms | |
- TDocVariant: 91,785 assertions passed 178.71ms | |
- TDecimal128: 17,446 assertions passed 14.82ms | |
- BSON: 245,068 assertions passed 9.45ms | |
100000 TBSONObjectID.ComputeNew in 6.43ms i.e. 15,552,099/s, aver. 0us | |
- TSynTableStatement: 221 assertions passed 510us | |
- TSynMonitorUsage: 1,202 assertions passed 591us | |
Total failed: 0 / 786,106 - Low level types PASSED 1.03s | |
1.3. Cryptographic routines: | |
- Adler32: 1 assertion passed 21us | |
- MD5: 167 assertions passed 265us | |
- SHA1: 17 assertions passed 6.87ms | |
- SHA256: 40 assertions passed 42.99ms | |
using SSE4 instruction set | |
- SHA512: 27 assertions passed 28.38ms | |
- SHA3: 8,225 assertions passed 63.47ms | |
- AES256: 18,100 assertions passed 385.74ms | |
cypher 1..450 bytes with AES-NI: 1ms, without: 2.05ms | |
- RC4: 1,011 assertions passed 4.71ms | |
- Base64: 13,992 assertions passed 448.10ms | |
- CompressShaAes: 1,683 assertions passed 9.68ms | |
- TAESPNRG: 31,309 assertions passed 79.93ms | |
- CryptDataForCurrentUser: 5,000 assertions passed 15.91ms | |
2000 AES-CFB in 15.62ms i.e. 128,008/s, aver. 7us, 66.7 MB/s | |
- JWT: 162,739 assertions passed 356.65ms | |
1000 HS256 in 7.02ms i.e. 142,389/s, aver. 7us | |
1000 HS384 in 7.05ms i.e. 141,683/s, aver. 7us | |
1000 HS512 in 7.21ms i.e. 138,561/s, aver. 7us | |
1000 S3224 in 6.84ms i.e. 146,006/s, aver. 6us | |
1000 S3256 in 7.18ms i.e. 139,198/s, aver. 7us | |
1000 S3384 in 7.28ms i.e. 137,211/s, aver. 7us | |
1000 S3512 in 6.95ms i.e. 143,802/s, aver. 6us | |
1000 S3S128 in 6.86ms i.e. 145,708/s, aver. 6us | |
1000 S3S256 in 6.90ms i.e. 144,906/s, aver. 6us | |
100 ES256 in 105.60ms i.e. 946/s, aver. 1.05ms | |
- Benchmark: 62,500 assertions passed 535.47ms | |
2500 crc32c in 371us i.e. 6738544/s or 14 GB/s | |
2500 xxhash32 in 1.28ms i.e. 1947040/s or 4 GB/s | |
2500 hash32 in 688us i.e. 3633720/s or 7.5 GB/s | |
2500 md5 in 12.61ms i.e. 198192/s or 421.8 MB/s | |
2500 sha1 in 21.35ms i.e. 117074/s or 249.1 MB/s | |
2500 hmacsha1 in 23.40ms i.e. 106796/s or 227.2 MB/s | |
2500 sha256 in 26.19ms i.e. 95441/s or 203.1 MB/s | |
2500 hmacsha256 in 28.62ms i.e. 87348/s or 185.9 MB/s | |
2500 sha384 in 17.81ms i.e. 140339/s or 298.6 MB/s | |
2500 hmacsha384 in 21.12ms i.e. 118371/s or 251.9 MB/s | |
2500 sha512 in 17.58ms i.e. 142142/s or 302.5 MB/s | |
2500 hmacsha512 in 20.87ms i.e. 119737/s or 254.8 MB/s | |
2500 sha3_256 in 39.46ms i.e. 63353/s or 134.8 MB/s | |
2500 sha3_512 in 72.62ms i.e. 34425/s or 73.2 MB/s | |
2500 rc4 in 21.37ms i.e. 116970/s or 248.9 MB/s | |
2500 aes128cfb in 14.60ms i.e. 171162/s or 364.2 MB/s | |
2500 aes128ofb in 10.96ms i.e. 227998/s or 485.2 MB/s | |
2500 aes128cfbcrc in 20.20ms i.e. 123743/s or 263.3 MB/s | |
2500 aes128ofbcrc in 16.99ms i.e. 147067/s or 312.9 MB/s | |
2500 aes256cfb in 17.25ms i.e. 144885/s or 308.3 MB/s | |
2500 aes256ofb in 13.51ms i.e. 185007/s or 393.7 MB/s | |
2500 aes256cfbcrc in 22.74ms i.e. 109938/s or 233.9 MB/s | |
2500 aes256ofbcrc in 19.13ms i.e. 130657/s or 278 MB/s | |
2500 shake128 in 33.65ms i.e. 74285/s or 158 MB/s | |
2500 shake256 in 39.42ms i.e. 63411/s or 134.9 MB/s | |
Total failed: 0 / 304,811 - Cryptographic routines PASSED 1.97s | |
1.4. ECC cryptography: | |
- Reference vectors: 23 assertions passed 12.82ms | |
- ecc_make_key: 200 assertions passed 170.35ms | |
- ecdsa_sign: 200 assertions passed 179.36ms | |
- ecdsa_verify: 200 assertions passed 217.53ms | |
- ecdh_shared_secret: 597 assertions passed 360.20ms | |
- Certificates and signatures: 91 assertions passed 42.49ms | |
- ECC command line tool: 469 assertions passed 257.81ms | |
- ECDHE stream protocol: 521,295 assertions passed 1.12s | |
Total failed: 0 / 523,075 - ECC cryptography PASSED 2.36s | |
1.5. Compression: | |
- In memory compression: 12 assertions passed 1.34s | |
- GZIP format: 29 assertions passed 4.69s | |
- ZIP format: 66 assertions passed 8.15s | |
- SynLZO: 3,006 assertions passed 409.34ms | |
- SynLZ: 23,430 assertions passed 364.90ms | |
- TAlgoCompress: 914 assertions passed 68.59ms | |
TAlgoSynLZ 167.5 KB->77.2 KB: comp 141:65MB/s decomp 129:281MB/s | |
TAlgoLizard 167.6 KB->64.2 KB: comp 13:5MB/s decomp 202:528MB/s | |
TAlgoLizardFast 167.5 KB->84.6 KB: comp 200:101MB/s decomp 271:536MB/s | |
TAlgoLizardHuffman 167.7 KB->79.9 KB: comp 80:38MB/s decomp 212:446MB/s | |
TAlgoDeflate 167.7 KB->37.1 KB: comp 10:2MB/s decomp 20:91MB/s | |
TAlgoDeflateFast 167.6 KB->45.2 KB: comp 20:5MB/s decomp 24:92MB/s | |
Total failed: 0 / 27,457 - Compression PASSED 15.05s | |
1.6. Protocols: | |
- RTSP over HTTP: 1,900 assertions passed 254.11ms | |
Total failed: 0 / 1,900 - Protocols PASSED 254.13ms | |
2. mORMot | |
2.1. File based: | |
- Database direct access: 22,278 assertions passed 106.79ms | |
- Virtual table direct access: 12 assertions passed 783us | |
- TSQLTableJSON: 144,083 assertions passed 191.34ms | |
- TSQLRestClientDB: 310,073 assertions passed 2.48s | |
- TRecordVersion: 20,060 assertions passed 250.02ms | |
Total failed: 0 / 496,506 - File based PASSED 3.03s | |
2.2. File based memory map: | |
- Database direct access: 22,258 assertions passed 88.11ms | |
- Virtual table direct access: 12 assertions passed 681us | |
- TSQLTableJSON: 144,083 assertions passed 190.67ms | |
- TSQLRestClientDB: 310,071 assertions passed 2.46s | |
- TRecordVersion: 20,060 assertions passed 253.31ms | |
Total failed: 0 / 496,484 - File based memory map PASSED 2.99s | |
2.3. File based WAL: | |
- Database direct access: 22,278 assertions passed 99.01ms | |
- Virtual table direct access: 12 assertions passed 649us | |
- TSQLTableJSON: 144,083 assertions passed 187.91ms | |
- TSQLRestClientDB: 310,073 assertions passed 2.47s | |
- TRecordVersion: 20,060 assertions passed 249.76ms | |
Total failed: 0 / 496,506 - File based WAL PASSED 3.01s | |
2.4. Memory based: | |
- Database direct access: 22,258 assertions passed 81.03ms | |
- Virtual table direct access: 12 assertions passed 569us | |
- TSQLTableJSON: 144,083 assertions passed 187.36ms | |
- TSQLRestClientDB: 402,407 assertions passed 5.22s | |
- TRecordVersion: 20,060 assertions passed 250.32ms | |
- TSQLTableWritable: 24,056 assertions passed 4.76ms | |
- RTree: 280,024 assertions passed 4.88s | |
10000 With RTree in 2.38s i.e. 4,189/s, aver. 238us | |
10000 With RTreeInteger in 2.46s i.e. 4,061/s, aver. 246us | |
- Shard write: 10,602 assertions passed 707.89ms | |
- Shard read: 140,001 assertions passed 1.07s | |
- Shard read after purge: 114,003 assertions passed 831.78ms | |
- MaxShardCount: 144,002 assertions passed 899.41ms | |
Total failed: 0 / 1,301,508 - Memory based PASSED 14.14s | |
2.5. Basic classes: | |
- TSQLRecord: 87 assertions passed 2.41ms | |
- TSQLRecordSigned: 200 assertions passed 7.06ms | |
- TSQLModel: 16 assertions passed 321us | |
- TSQLRestServerFullMemory: 1,130,728 assertions passed 4.95s | |
Total failed: 0 / 1,131,031 - Basic classes PASSED 4.96s | |
2.6. Client server access: | |
- TSQLHttpServer: 2 assertions passed 3.22ms | |
using Synopse Sockets.514 | |
- TSQLHttpClient: 4 assertions passed 12.13ms | |
using TSQLHttpClientWinSock | |
- HTTP client keep alive: 4,087 assertions passed 214.70ms | |
4.7 KB, first 2.07ms, done 201.26ms i.e. 4968/s, aver. 201us, 23.2 MB/s | |
- HTTP client multi connect: 4,087 assertions passed 286.28ms | |
4.7 KB, first 454us, done 271.02ms i.e. 3689/s, aver. 271us, 17.2 MB/s | |
- HTTP client encrypted: 4,087 assertions passed 305.21ms | |
4.7 KB, first 642us, done 291.76ms i.e. 3427/s, aver. 291us, 16 MB/s | |
- HTTP client custom encryption aes sha: 4,087 assertions passed 294.42ms | |
4.7 KB, first 267us, done 281.17ms i.e. 3556/s, aver. 281us, 16.6 MB/s | |
- HTTP client custom encryption aes: 4,087 assertions passed 302.77ms | |
4.7 KB, first 286us, done 290.46ms i.e. 3442/s, aver. 290us, 16 MB/s | |
- HTTP client custom encryption sha: 4,087 assertions passed 316.92ms | |
4.7 KB, first 256us, done 303.26ms i.e. 3297/s, aver. 303us, 15.4 MB/s | |
- Direct in process access: 4,056 assertions passed 40.53ms | |
4.7 KB, first 38us, done 31.65ms i.e. 31593/s, aver. 31us, 147.7 MB/s | |
- HTTP several DB servers: 12,604 assertions passed 761.82ms | |
4.7 KB, first 426us, done 201.73ms i.e. 4957/s, aver. 201us, 23.1 MB/s | |
4.7 KB, first 467us, done 202.48ms i.e. 4938/s, aver. 202us, 23 MB/s | |
4.7 KB, first 482us, done 204.07ms i.e. 4900/s, aver. 204us, 22.9 MB/s | |
Total failed: 0 / 41,188 - Client server access PASSED 2.53s | |
2.7. Service oriented architecture: | |
- Weak interfaces: 56 assertions passed 90us | |
- Service initialization: 268 assertions passed 9.55ms | |
- Direct call: 596,049 assertions passed 135.51ms | |
- Server side: 596,069 assertions passed 143.39ms | |
- Client side REST: 794,759 assertions passed 3.60s | |
- Client side REST as JSON object: 794,753 assertions passed 3.71s | |
- Client side REST sessions stats: 794,753 assertions passed 3.74s | |
- Client side REST locked: 794,757 assertions passed 3.59s | |
- Client side REST main thread: 794,757 assertions passed 6.05s | |
- Client side REST background thread: 794,757 assertions passed 5.16s | |
- Client side REST sign with crc 32c: 794,753 assertions passed 3.50s | |
- Client side REST sign with xxhash: 794,753 assertions passed 3.52s | |
- Client side REST sign with md 5: 794,753 assertions passed 3.53s | |
- Client side REST sign with sha 256: 794,753 assertions passed 3.57s | |
- Client side REST sign with sha 512: 794,753 assertions passed 3.59s | |
- Client side REST weak authentication: 794,753 assertions passed 3.14s | |
- Client side REST basic authentication: 794,753 assertions passed 4.72s | |
- Client side REST custom record layout: 794,753 assertions passed 3.76s | |
- Client side REST service log to DB: 794,753 assertions passed 4.66s | |
- Client side JSONRPC: 794,753 assertions passed 3.95s | |
- Test over HTTP: 10,482 assertions passed 541.10ms | |
- Security: 139 assertions passed 5.24ms | |
- Mocks and stubs: 30,030 assertions passed 274.78ms | |
Total failed: 0 / 13,949,159 - Service oriented architecture PASSED 1m04 | |
2.8. Bidirectional remote connection: | |
- Websockets JSON protocol: 60 assertions passed 166us | |
- Websockets binary protocol: 60 assertions passed 166us | |
- Websockets binary protocol encrypted: 60 assertions passed 208us | |
- Websockets binary protocol compressed: 60 assertions passed 159us | |
- Websockets binary protocol compress encrypted: 60 assertions passed 211us | |
- Run http server: 2 assertions passed 2.05ms | |
- SOA callback on server side: 4,580 assertions passed 11.41ms | |
- SOA callback via JSON websockets: 6,898 assertions passed 490.72ms | |
- SOA callback via binary websockets: 6,898 assertions passed 564.06ms | |
- Relay start: 4 assertions passed 4.71ms | |
- Relay SOA callback via JSON websockets: 6,899 assertions passed 883.02ms | |
- Relay connection recreate: 1 assertion passed 3.51ms | |
- Relay SOA callback via binary websockets: 6,899 assertions passed 1.06s | |
- Relay shutdown: 2 assertions passed 114.85ms | |
- TRecordVersion: 20,068 assertions passed 293.86ms | |
Total failed: 0 / 52,551 - Bidirectional remote connection PASSED 3.44s | |
2.9. External database: | |
- TQuery: 2,003 assertions passed 5.59ms | |
- SynDBRemote: 35,589 assertions passed 283.01ms | |
- DB properties persistence: 7 assertions passed 166us | |
- External records: 2 assertions passed 960us | |
- Auto adapt SQL: 966 assertions passed 16ms | |
- Crypted database: 253,277 assertions passed 533.39ms | |
- External via REST: 170,355 assertions passed 3.67s | |
- External via virtual table: 170,355 assertions passed 4.52s | |
- External via REST with change tracking: 180,455 assertions passed 5.04s | |
Total failed: 0 / 813,009 - External database PASSED 14.09s | |
2.10. Multi thread process: | |
- Create thread pool: 1 assertion passed 1.66ms | |
- TSQLRestServerDB: 4,822 assertions passed 1.05s | |
1=14459/s 2=10084/s 5=7538/s 10=3929/s 30=1297/s 50=783/s | |
- TSQLRestClientDB: 4,822 assertions passed 1.05s | |
1=8309/s 2=14633/s 5=7860/s 10=3921/s 30=1308/s 50=785/s | |
- Socket API: 4,822 assertions passed 1.19s | |
1=3283/s 2=6164/s 5=6312/s 10=3876/s 30=1311/s 50=786/s | |
- Websockets: 4,822 assertions passed 1.37s | |
1=3160/s 2=4320/s 5=4771/s 10=3504/s 30=1266/s 50=774/s | |
- libcurl: 4,822 assertions passed 1.32s | |
1=1994/s 2=4000/s 5=4906/s 10=3749/s 30=1309/s 50=786/s | |
- Locked: 4,822 assertions passed 1.05s | |
1=8914/s 2=14610/s 5=7861/s 10=3924/s 30=1306/s 50=785/s | |
- Unlocked: 4,822 assertions passed 1.05s | |
1=8125/s 2=14650/s 5=7843/s 10=3932/s 30=1308/s 50=785/s | |
- Main thread: 4,822 assertions passed 1.27s | |
1=5171/s 2=8562/s 5=4455/s 10=2704/s 30=1144/s 50=722/s | |
- Background thread: 4,822 assertions passed 1.06s | |
1=7813/s 2=13458/s 5=7878/s 10=3925/s 30=1310/s 50=786/s | |
Total failed: 0 / 43,399 - Multi thread process PASSED 11.66s | |
2.11. DDD shared units: | |
- User model: 4,527 assertions passed 4.62ms | |
- Authentication model: 20,006 assertions passed 1.17s | |
- Email validation process: 55 assertions passed 38.19ms | |
- User CQRS repository: 57,106 assertions passed 1.79s | |
Total failed: 0 / 81,694 - DDD shared units PASSED 3.01s | |
2.12. DDD multi thread: | |
- Delete old database: 1 assertion passed 206us | |
- Start server: 1 assertion passed 14.94ms | |
- Single client test: 1,002 assertions passed 252.56ms | |
- Multi threaded clients test: 21 assertions passed 171.65ms | |
Total failed: 0 / 1,025 - DDD multi thread PASSED 451.50ms | |
Ubuntu 18.04.4 LTS - Linux 5.3.0-46-generic (cp65001) | |
4 x Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz (x64) | |
Using mORMot 1.18.5960 | |
TSQLite3LibraryStatic 3.31.0 with internal MM | |
Generated with: Free Pascal 3.2 64 bit compiler | |
Time elapsed for all tests: 2m45 | |
Performed 2020-04-23 12:03:08 by ab on devlaptop | |
Total assertions failed for all test suits: 0 / 43,253,559 | |
! All tests passed successfully. | |
Heap dump by heaptrc unit of /home/ab/dev/lib/SQLite3/fpc/bin/x86_64-linux/TestSQL3 | |
66536574 memory blocks allocated : 20435323600/20595511608 | |
66536574 memory blocks freed : 20435323600/20595511608 | |
0 unfreed memory blocks : 0 | |
True heap size : 18446744073708601344 | |
True free heap : 18446744073708601344 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment