Klebert-Engineering / simfil

The Simple Map Filter Language Interpreter 🌳.
BSD 3-Clause "New" or "Revised" License
6 stars 0 forks source link

model: Switch to intrusive ptr #33

Closed johannes-wolf closed 1 year ago

johannes-wolf commented 1 year ago

In hope to reduce cache misses. But it is actually slower :cry: .

github-actions[bot] commented 1 year ago

Test Results

βŸβ€„1 files  Β±0β€‚β€ƒβŸβ€„1 suites  Β±0   17s :stopwatch: +2s 36 tests +1  36 :heavy_check_mark: +1  0 :zzz: Β±0  0 :x: Β±0  37 runs  +1  37 :heavy_check_mark: +1  0 :zzz: Β±0  0 :x: Β±0 

Results for commit af6a2477. ± Comparison against base commit d898af7d.

:recycle: This comment has been updated with latest results.

johannes-wolf commented 1 year ago

Old

32: Query typeof Recursive                         100             1     6.13009 s 
32:                                         60.8221 ms    60.4668 ms    61.2973 ms 
32:                                         2.08431 ms    1.64945 ms    2.71479 ms 
32:                                                                                
32: Query field id Recursive                       100             1     5.09729 s 
32:                                         50.0774 ms     49.767 ms    50.4476 ms 
32:                                         1.72158 ms    1.46981 ms    1.99338 ms 
32:                                                                                
32: Query field id                                 100             1    66.3022 ms 
32:                                         705.471 us    683.178 us    756.909 us 
32:                                         163.305 us    85.2503 us    325.215 us

New

32: Query typeof Recursive                         100             1      6.9478 s 
32:                                         68.8637 ms    68.8463 ms    68.9076 ms 
32:                                         132.547 us    61.3435 us    274.842 us 
32:                                                                                
32: Query field id Recursive                       100             1     5.95008 s 
32:                                         59.8007 ms    59.6551 ms    60.1315 ms 
32:                                         1.06254 ms    517.298 us    1.83223 ms 
32:                                                                                
32: Query field id                                 100             1    70.6679 ms 
32:                                         704.459 us    703.981 us    705.202 us 
32:                                         2.98966 us    2.21629 us    4.96694 us 
github-actions[bot] commented 1 year ago
Package Line Rate Branch Rate Health
include.simfil 57% 35% βž–
include.simfil.model 78% 41% βž–
src 63% 34% βž–
src.model 70% 39% βž–
Summary 63% (2105 / 3316) 35% (1749 / 5015) βž–

Minimum allowed line rate is 50%

josephbirkner commented 1 year ago

It would be interesting to see the comparison when a raw pointer is used πŸ€” I think this might also be ok.