Skip to content

Instantly share code, notes, and snippets.

@synopse
Created June 17, 2021 07:37
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/550bb7b2825bc99376fa95d61c6550f8 to your computer and use it in GitHub Desktop.
Save synopse/550bb7b2825bc99376fa95d61c6550f8 to your computer and use it in GitHub Desktop.
mORMot 2 tests compiled on FPC for Win32
- Wiki markdown to html: 56 assertions passed 122us
- Variants: 97 assertions passed 73us
- Mustache renderer: 156 assertions passed 1.02ms
- TDocVariant: 91,787 assertions passed 98.92ms
- TDecimal128: 17,446 assertions passed 1.40ms
- BSON: 245,070 assertions passed 3.56ms
100000 TBsonObjectID.ComputeNew in 3.10ms i.e. 30.7M/s, aver. 0us
- TSelectStatement: 221 assertions passed 277us
- TSynMonitorUsage: 1,202 assertions passed 146us
Total failed: 0 / 783,510 - Core process PASSED 215.84ms
1.3. Core compression:
- In memory compression: 21 assertions passed 359.40ms
- GZIP format: 30 assertions passed 125.45ms
- ZIP format: 872 assertions passed 1.30s
- SynLZ: 23,586 assertions passed 98.34ms
- TAlgoCompress: 914 assertions passed 496.23ms
TAlgoSynLZ 3.8 MB->2.3 MB: comp 212:131MB/s decomp 205:331MB/s
TAlgoLizard 3.8 MB->2.2 MB: comp 25:15MB/s decomp 781:1324MB/s
TAlgoLizardFast 3.8 MB->2.5 MB: comp 209:137MB/s decomp 991:1505MB/s
TAlgoLizardHuffman 3.8 MB->2.1 MB: comp 73:41MB/s decomp 277:488MB/s
TAlgoDeflate 3.8 MB->1.8 MB: comp 40:19MB/s decomp 119:245MB/s
TAlgoDeflateFast 3.8 MB->1.9 MB: comp 51:25MB/s decomp 118:236MB/s
Total failed: 0 / 25,423 - Core compression PASSED 2.39s
1.4. Core crypto:
- MD5: 166 assertions passed 289us
- SHA1: 8 assertions passed 3.05ms
- SHA256: 15 assertions passed 20.34ms
- SHA512: 27 assertions passed 47.51ms
- SHA3: 8,225 assertions passed 41.42ms
- AES: 58,612 assertions passed 564.48ms
cypher with AES-NI: 159us, without: 1.03ms
- AES_GCM: 215 assertions passed 112us
- RC4: 1,016 assertions passed 2.42ms
- Hashes: 9 assertions passed 60.05ms
- Base64: 11,991 assertions passed 27.11ms
- CompressShaAes: 1,683 assertions passed 2.05ms
- TAesPNRG: 131,313 assertions passed 40.45ms
100000 mORMot Random32 in 2.33ms i.e. 40.9M/s, aver. 0us, 163.7 MB/s
mORMot FillRandom in 136us, 701.2 MB/s
- CryptDataForCurrentUser: 5,000 assertions passed 8.68ms
2000 AES-CFB in 5.41ms i.e. 360.7K/s, aver. 2us, 192.5 MB/s
- CryptDataForCurrentUserApi: 5,000 assertions passed 941.28ms
2000 DPAPI in 940.19ms i.e. 2K/s, aver. 470us, 1.1 MB/s
- JWT: 162,727 assertions passed 604.08ms
1000 HS256 in 2.13ms i.e. 457.4K/s, aver. 2us
1000 HS384 in 3.21ms i.e. 303.9K/s, aver. 3us
1000 HS512 in 3.36ms i.e. 290.1K/s, aver. 3us
1000 S3224 in 1.55ms i.e. 630K/s, aver. 1us
1000 S3256 in 1.71ms i.e. 569.4K/s, aver. 1us
1000 S3384 in 1.59ms i.e. 612.2K/s, aver. 1us
1000 S3512 in 1.59ms i.e. 614.1K/s, aver. 1us
1000 S3S128 in 1.65ms i.e. 589.3K/s, aver. 1us
1000 S3S256 in 1.67ms i.e. 582.6K/s, aver. 1us
100 ES256 in 229.03ms i.e. 436/s, aver. 2.29ms
- Benchmark: 90,000 assertions passed 595.44ms
2500 crc32c in 1.09ms i.e. 2293577/s or 4.7 GB/s
2500 xxhash32 in 852us i.e. 2934272/s or 6 GB/s
2500 crc32 in 454us i.e. 5506607/s or 11.4 GB/s
2500 adler32 in 457us i.e. 5470459/s or 11.3 GB/s
2500 hash32 in 458us i.e. 5458515/s or 11.3 GB/s
2500 aesnihash in 254us i.e. 9842519/s or 20.4 GB/s
2500 md5 in 8.32ms i.e. 300372/s or 639.2 MB/s
2500 sha1 in 17.92ms i.e. 139477/s or 296.8 MB/s
2500 hmacsha1 in 20.20ms i.e. 123719/s or 263.3 MB/s
2500 sha256 in 30.30ms i.e. 82508/s or 175.5 MB/s
2500 hmacsha256 in 32.98ms i.e. 75796/s or 161.3 MB/s
2500 sha384 in 37.82ms i.e. 66092/s or 140.6 MB/s
2500 hmacsha384 in 43.28ms i.e. 57751/s or 122.9 MB/s
2500 sha512 in 37.37ms i.e. 66889/s or 142.3 MB/s
2500 hmacsha512 in 43.40ms i.e. 57599/s or 122.5 MB/s
2500 sha3_256 in 38.20ms i.e. 65433/s or 139.2 MB/s
2500 sha3_512 in 69.27ms i.e. 36089/s or 76.8 MB/s
2500 rc4 in 19.39ms i.e. 128919/s or 274.3 MB/s
2500 mormot aes-128-cfb in 5.04ms i.e. 495245/s or 1 GB/s
2500 mormot aes-128-ofb in 6.24ms i.e. 400192/s or 851.6 MB/s
2500 mormot aes-128-c64 in 8.14ms i.e. 306974/s or 653.3 MB/s
2500 mormot aes-128-ctr in 8.01ms i.e. 311915/s or 663.8 MB/s
2500 mormot aes-128-cfc in 6.03ms i.e. 414112/s or 881.3 MB/s
2500 mormot aes-128-ofc in 5.52ms i.e. 452324/s or 0.9 GB/s
2500 mormot aes-128-ctc in 6.77ms i.e. 369112/s or 785.5 MB/s
2500 mormot aes-128-gcm in 10.55ms i.e. 236832/s or 504 MB/s
2500 mormot aes-256-cfb in 6.53ms i.e. 382555/s or 814.1 MB/s
2500 mormot aes-256-ofb in 6.18ms i.e. 404334/s or 860.5 MB/s
2500 mormot aes-256-c64 in 8.25ms i.e. 302773/s or 644.3 MB/s
2500 mormot aes-256-ctr in 9.08ms i.e. 275118/s or 585.5 MB/s
2500 mormot aes-256-cfc in 6.56ms i.e. 380923/s or 810.6 MB/s
2500 mormot aes-256-ofc in 6.63ms i.e. 376960/s or 802.2 MB/s
2500 mormot aes-256-ctc in 7.87ms i.e. 317339/s or 675.3 MB/s
2500 mormot aes-256-gcm in 11.98ms i.e. 208576/s or 443.9 MB/s
2500 shake128 in 31.98ms i.e. 78168/s or 166.3 MB/s
2500 shake256 in 40.86ms i.e. 61181/s or 130.2 MB/s
- Catalog: 210 assertions passed 0us
- TBinaryCookieGenerator: 3,072 assertions passed 4.57ms
512 generate in 0us i.e. 0/s, aver. 0us
512 validate in 90us i.e. 5.4M/s, aver. 0us
Total failed: 0 / 479,289 - Core crypto PASSED 2.99s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 19.50ms
- ECC: 303 assertions passed 521.68ms
50 Ecc256r1MakeKey in 100.25ms i.e. 498/s, aver. 2ms
50 Ecc256r1Sign in 95.99ms i.e. 520/s, aver. 1.91ms
50 Ecc256r1Verify in 116.09ms i.e. 430/s, aver. 2.32ms
98 Ecc256r1SharedSecret in 199.09ms i.e. 492/s, aver. 2.03ms
- Certificates and signatures: 91 assertions passed 84.77ms
- Ecc command line tool: 119 assertions passed 108.18ms
- ECDHE stream protocol: 63,393 assertions passed 1.79s
100 efAesCrc128 in 1.49ms i.e. 65.1K/s, aver. 14us, 1.2 GB/s
100 efAesCfb128 in 1.60ms i.e. 60.9K/s, aver. 16us, 1.1 GB/s
100 efAesOfb128 in 2.30ms i.e. 42.3K/s, aver. 23us, 799.9 MB/s
100 efAesCtr128 in 2.73ms i.e. 35.7K/s, aver. 27us, 674.9 MB/s
100 efAesCbc128 in 3.63ms i.e. 26.8K/s, aver. 36us, 506.8 MB/s
100 efAesCrc256 in 1.87ms i.e. 52.2K/s, aver. 18us, 0.9 GB/s
100 efAesCfb256 in 1.95ms i.e. 49.9K/s, aver. 19us, 0.9 GB/s
100 efAesOfb256 in 2.63ms i.e. 37K/s, aver. 26us, 700 MB/s
100 efAesCtr256 in 3.35ms i.e. 29.1K/s, aver. 33us, 549.7 MB/s
100 efAesCbc256 in 4.10ms i.e. 23.8K/s, aver. 41us, 449.7 MB/s
100 efAesGcm128 in 5.80ms i.e. 16.8K/s, aver. 58us, 317.4 MB/s
100 efAesGcm256 in 4.22ms i.e. 23.1K/s, aver. 42us, 436.7 MB/s
100 efAesCtc128 in 2.21ms i.e. 44.1K/s, aver. 22us, 834.3 MB/s
100 efAesCtc256 in 2.78ms i.e. 35K/s, aver. 27us, 662.2 MB/s
Total failed: 0 / 63,929 - Core ecc PASSED 2.54s
1.6. Network protocols:
- Rtsp over http: 1,900 assertions passed 1.21s
- Tunneling: no assertion 602us
Total failed: 0 / 1,900 - Network protocols PASSED 1.21s
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 878us
- TOrmSigned: 200 assertions passed 6.96ms
- TOrmModel: 16 assertions passed 330us
- TRestServerFullMemory: 1,130,745 assertions passed 555.13ms
Total failed: 0 / 1,131,054 - Orm core PASSED 567.59ms
2.2. Sqlite file:
- Database direct access: 22,284 assertions passed 84.44ms
- Virtual table direct access: 12 assertions passed 606us
- TOrmTableJson: 144,083 assertions passed 66.03ms
- TRestClientDB: 608,198 assertions passed 1.03s
- Regexp function: 6,015 assertions passed 10.21ms
- TRecordVersion: 20,060 assertions passed 55.33ms
Total failed: 0 / 800,652 - Sqlite file PASSED 1.25s
2.3. Sqlite file WAL:
- Database direct access: 22,284 assertions passed 82.90ms
- Virtual table direct access: 12 assertions passed 516us
- TOrmTableJson: 144,083 assertions passed 64.88ms
- TRestClientDB: 608,198 assertions passed 1.02s
- Regexp function: 6,015 assertions passed 10.57ms
- TRecordVersion: 20,060 assertions passed 54.40ms
Total failed: 0 / 800,652 - Sqlite file WAL PASSED 1.24s
2.4. Sqlite file memory map:
- Database direct access: 22,264 assertions passed 71.41ms
- Virtual table direct access: 12 assertions passed 521us
- TOrmTableJson: 144,083 assertions passed 62.70ms
- TRestClientDB: 608,196 assertions passed 1.01s
- Regexp function: 6,015 assertions passed 10.07ms
- TRecordVersion: 20,060 assertions passed 61.16ms
Total failed: 0 / 800,630 - Sqlite file memory map PASSED 1.22s
2.5. Sqlite memory:
- Database direct access: 22,264 assertions passed 73.55ms
- Virtual table direct access: 12 assertions passed 471us
- TOrmTableJson: 144,083 assertions passed 63.70ms
- TRestClientDB: 676,505 assertions passed 1.60s
- Regexp function: 6,015 assertions passed 16.21ms
- TRecordVersion: 20,060 assertions passed 54.02ms
- TOrmTableWritable: 24,056 assertions passed 3.20ms
- RTree: 280,024 assertions passed 1.36s
10000 With RTree in 669.76ms i.e. 14.5K/s, aver. 66us
10000 With RTreeInteger in 688.42ms i.e. 14.1K/s, aver. 68us
- Shard write: 10,602 assertions passed 91.45ms
- Shard read: 140,001 assertions passed 233.83ms
- Shard read after purge: 114,003 assertions passed 191.24ms
- MaxShardCount: 144,002 assertions passed 186.75ms
Total failed: 0 / 1,581,627 - Sqlite memory PASSED 3.88s
2.6. External database:
- SynDBRemote: 42,707 assertions passed 123.49ms
- DB properties persistence: 7 assertions passed 226us
- External records: 2 assertions passed 202us
- Auto adapt SQL: 1,041 assertions passed 2.35ms
- Crypted database: 253,277 assertions passed 103ms
- External via REST: 170,355 assertions passed 623.12ms
- External via virtual table: 170,355 assertions passed 1.01s
- External via REST with change tracking: 180,455 assertions passed 1.16s
- JET database: 7,007 assertions passed 617.91ms
Total failed: 0 / 825,206 - External database PASSED 3.66s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 3.18ms
using HTTP API 1.0
- TRestHttpClient: 4 assertions passed 10.61ms
using TRestHttpClientWinHttp
- HTTP client keep alive: 4,088 assertions passed 144.46ms
4.7 KB, first 1.40ms, done 133.22ms i.e. 7506/s, aver. 133us, 34.5 MB/s
- HTTP client multi connect: 4,088 assertions passed 254.41ms
4.7 KB, first 525us, done 242.94ms i.e. 4116/s, aver. 242us, 18.9 MB/s
- HTTP client encrypted: 4,088 assertions passed 153.38ms
4.7 KB, first 401us, done 143.45ms i.e. 6970/s, aver. 143us, 32 MB/s
- Direct in process access: 4,057 assertions passed 24.23ms
4.7 KB, first 51us, done 22.03ms i.e. 45390/s, aver. 22us, 208.7 MB/s
- HTTP several DB servers: 12,607 assertions passed 447.94ms
4.7 KB, first 289us, done 128.71ms i.e. 7768/s, aver. 128us, 35.7 MB/s
4.7 KB, first 299us, done 127.66ms i.e. 7832/s, aver. 127us, 36 MB/s
4.7 KB, first 270us, done 130.33ms i.e. 7672/s, aver. 130us, 35.2 MB/s
Total failed: 0 / 28,934 - Client server access PASSED 1.04s
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 5.20ms
- TRestServerDB: 7,302 assertions passed 133.11ms
1=32939/s 2=25972/s 5=19039/s 10=25101/s 30=37170/s 50=35465/s
- TRestClientDB: 7,302 assertions passed 161.92ms
1=19840/s 2=21301/s 5=23005/s 10=24044/s 30=24583/s 50=24093/s
- TCP sockets: 7,302 assertions passed 400.12ms
1=11724/s 2=8444/s 5=12755/s 10=12177/s 30=9521/s 50=8009/s
- Windows API: 7,302 assertions passed 776.25ms
1=5125/s 2=5022/s 5=4947/s 10=4719/s 30=4261/s 50=4262/s
- Websockets: 7,302 assertions passed 513.84ms
1=10373/s 2=11895/s 5=10024/s 10=8548/s 30=5944/s 50=4270/s
- Locked: 7,302 assertions passed 366.94ms
1=12504/s 2=7325/s 5=7881/s 10=10452/s 30=11941/s 50=12233/s
- Unlocked: 7,302 assertions passed 360.10ms
1=11771/s 2=10213/s 5=9060/s 10=10681/s 30=10775/s 50=8813/s
- Main thread: 7,302 assertions passed 299.08ms
1=20089/s 2=14258/s 5=10364/s 10=10233/s 30=12112/s 50=10396/s
- Background thread: 7,302 assertions passed 608.22ms
1=9132/s 2=7116/s 5=6081/s 10=6052/s 30=6254/s 50=3725/s
Total failed: 0 / 65,719 - Multi thread process PASSED 4.12s
3. SOA
3.1. Core script:
- Quick JS low level: 40,057 assertions passed 88.01ms
Total failed: 0 / 40,057 - Core script PASSED 88.58ms
3.2. Network protocols:
- Rtsp over http: 1,900 assertions passed 1.21s
- Tunneling: no assertion 634us
Total failed: 0 / 1,900 - Network protocols PASSED 1.22s
3.3. Service oriented architecture:
- Weak interfaces: 56 assertions passed 372us
- Service initialization: 268 assertions passed 8ms
- Direct call: 596,049 assertions passed 30.52ms
- Server side: 596,069 assertions passed 17.47ms
- Client side REST: 794,759 assertions passed 931.23ms
- Client side REST as json object: 794,753 assertions passed 1.24s
- Client side REST sessions stats: 794,753 assertions passed 976.71ms
- Client side REST locked: 794,757 assertions passed 3.19s
- Client side REST main thread: 794,757 assertions passed 3.65s
- Client side REST background thread: 794,757 assertions passed 1.15s
- Client side REST sign with crc 32c: 794,753 assertions passed 854.29ms
- Client side REST sign with xxhash: 794,753 assertions passed 866.69ms
- Client side REST sign with md 5: 794,753 assertions passed 879.10ms
- Client side REST sign with sha 256: 794,753 assertions passed 947.81ms
- Client side REST sign with sha 512: 794,753 assertions passed 1.01s
- Client side REST weak authentication: 794,753 assertions passed 826.84ms
- Client side REST basic authentication: 794,753 assertions passed 1.03s
- Client side REST custom record layout: 794,753 assertions passed 925.58ms
- Client side REST service log to DB: 794,753 assertions passed 1.59s
- Client side json RPC: 794,753 assertions passed 916.44ms
- Test over HTTP: 10,482 assertions passed 384.79ms
- Security: 139 assertions passed 1.75ms
- Mocks and stubs: 30,030 assertions passed 31.08ms
Total failed: 0 / 13,949,159 - Service oriented architecture PASSED 21.50s
3.4. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 6.92ms
- Run http server: 2 assertions passed 5.17ms
- Soa callback on server side: 4,580 assertions passed 1.33ms
- Soa callback via json websockets: 6,898 assertions passed 286.94ms
- Soa callback via binary websockets: 6,898 assertions passed 440.33ms
- Relay start: 4 assertions passed 13.42ms
- Relay soa callback via json websockets: 6,899 assertions passed 1.05s
- Relay connection recreate: 1 assertion passed 11.53ms
- Relay soa callback via binary websockets: 6,899 assertions passed 2.15s
- Relay shutdown: 2 assertions passed 190.33ms
- TRecordVersion: 20,068 assertions passed 129.10ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 4.32s
Generated with: Free Pascal 3.2 32 bit Win compiler
Time elapsed for all tests: 58.36s
Performed 2021-06-17 09:37:09 by User on XP3
Total assertions failed for all test suits: 0 / 41,346,124
! 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