demofile-net icon indicating copy to clipboard operation
demofile-net copied to clipboard

Add multi-threaded parsing

Open in0finite opened this issue 1 year ago • 2 comments

Benchmark (6 cores):

Method Job Arguments Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ParseDemo Job-PEXGNK /p:Baseline=true 1,486.5 ms 6.50 ms 6.08 ms 1.00 0.00 26000.0000 1000.0000 - 489.9 MB 1.00
ParseDemo Job-MQEQFA Default 1,485.7 ms 6.48 ms 6.06 ms 1.00 0.00 26000.0000 1000.0000 - 489.9 MB 1.00
ParseDemoMT Job-PEXGNK /p:Baseline=true NA NA NA ? ? NA NA NA NA ?
ParseDemoMT Job-MQEQFA Default 447.2 ms 23.40 ms 21.89 ms ? ? 34000.0000 11000.0000 1000.0000 582.88 MB ?

in0finite avatar Mar 01 '24 09:03 in0finite

Many thanks for this! I've built on this as part of #52 - simplifying the API and integrating all of the integration tests.

It's still WIP as there are a couple of bugs that need resolving, but this is a great improvement to performance. Thanks again

saul avatar Mar 17 '24 12:03 saul

Alright.

Btw, it seems that your implementation is slightly slower (540 ms compared to 450 ms), even if Mac has higher CPU count. Will test it when you merge, to verify.

in0finite avatar Mar 17 '24 19:03 in0finite