Open arlofaria opened 2 years ago
This would require multi-threading, which might be complicated to introduce in this codebase.
I've implemented a multi-thread version for my personal needs. Sharing it for those who might be interested.
https://github.com/ss3git/libsamplerate/compare/master...ss3git:libsamplerate:MultiThreading
Hi @ss3git . Interesting idea. Pull request?
Hi, I hope I sent the request correctly. I'm actually not so familiar with github yet.
This looks awesome. What's type of speed boost does this actually give ?
If asking about my implementation, the sinc converter uses multiple threads during its conversion process so is expected to run faster (give more throughput) on multi-core CPUs unless input data blocks to src_process() are very small.
Here is an example comparison of the benchmark (multichan_throughput_test) results on an 8 core cpu.
single-thread:
Converter Channels Duration Throughput
---------------------------------------------------------------------
Fastest Sinc Interpolator 1 5.03 2914383
Fastest Sinc Interpolator 2 5.00 2673097
Fastest Sinc Interpolator 3 5.02 1259082
Fastest Sinc Interpolator 4 5.01 2072984
Fastest Sinc Interpolator 5 5.01 974272
Medium Sinc Interpolator 1 5.06 1255958
Medium Sinc Interpolator 2 5.03 1186395
Medium Sinc Interpolator 3 5.03 576003
Medium Sinc Interpolator 4 5.02 911986
Medium Sinc Interpolator 5 5.02 433959
Best Sinc Interpolator 1 5.27 369097
Best Sinc Interpolator 2 5.13 341291
Best Sinc Interpolator 3 5.18 175364
Best Sinc Interpolator 4 5.11 247623
Best Sinc Interpolator 5 5.17 130465
Best Sinc Interpolator 6 5.02 215596
Best Sinc Interpolator 7 5.09 94618
Best Sinc Interpolator 8 5.12 88757
Best Sinc Interpolator 9 5.00 83624
Best Sinc Interpolator 10 5.00 77856
multi-threaded:
Converter Channels Duration Throughput
---------------------------------------------------------------------
Fastest Sinc Interpolator 1 5.00 10093617
Fastest Sinc Interpolator 2 5.00 8906060
Fastest Sinc Interpolator 3 5.00 7526097
Fastest Sinc Interpolator 4 5.00 6939962
Fastest Sinc Interpolator 5 5.00 5974970
Medium Sinc Interpolator 1 5.01 6443665
Medium Sinc Interpolator 2 5.00 5668893
Medium Sinc Interpolator 3 5.01 4664263
Medium Sinc Interpolator 4 5.00 4190524
Medium Sinc Interpolator 5 5.01 3509137
Best Sinc Interpolator 1 5.01 2407802
Best Sinc Interpolator 2 5.01 2032235
Best Sinc Interpolator 3 5.02 1671403
Best Sinc Interpolator 4 5.01 1471135
Best Sinc Interpolator 5 5.02 1252135
Best Sinc Interpolator 6 5.01 1112856
Best Sinc Interpolator 7 5.01 906998
Best Sinc Interpolator 8 5.02 811740
Best Sinc Interpolator 9 5.00 662631
Best Sinc Interpolator 10 5.01 602992
FYI: updated results of multichan_throughput_test taken with today's version. (on the assumption that the code under review https://github.com/libsndfile/libsamplerate/pull/201 is correctly implemented.)
FreeBSD clang version 14.0.5
Target: x86_64-unknown-freebsd13.2
Thread model: posix
CPU name : Intel(R) Atom(TM) CPU C3708 @ 1.70GHz 8-core CPU
SRC_RATIO : 0.99 Throughput (times faster than realtime if input is 44.1k)
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- --------------------------
Fastest Sinc Interpolator 1 14953596 (x 342.51) 14955917 (x 342.56) 2928023 (x 67.07)
Fastest Sinc Interpolator 2 13608723 (x 311.70) 13305314 (x 304.76) 2681882 (x 61.43)
Fastest Sinc Interpolator 3 11343683 (x 259.82) 11213093 (x 256.83) 1248513 (x 28.60)
Fastest Sinc Interpolator 4 10248991 (x 234.75) 10110782 (x 231.59) 2069735 (x 47.41)
Fastest Sinc Interpolator 5 8821366 (x 202.05) 8700990 (x 199.29) 958725 (x 21.96)
Medium Sinc Interpolator 1 7821661 (x 179.15) 7782627 (x 178.26) 1257899 (x 28.81)
Medium Sinc Interpolator 2 7094296 (x 162.49) 7022790 (x 160.86) 1190091 (x 27.26)
Medium Sinc Interpolator 3 5969939 (x 136.74) 5813803 (x 133.16) 568288 (x 13.02)
Medium Sinc Interpolator 4 5402227 (x 123.74) 5349935 (x 122.54) 910567 (x 20.86)
Medium Sinc Interpolator 5 4711434 (x 107.91) 4644047 (x 106.37) 428793 (x 9.82)
Best Sinc Interpolator 1 2497397 (x 57.20) 2531469 (x 57.98) 330662 (x 7.57)
Best Sinc Interpolator 2 2382031 (x 54.56) 2371162 (x 54.31) 308536 (x 7.07)
Best Sinc Interpolator 3 2057456 (x 47.13) 2001742 (x 45.85) 163853 (x 3.75)
Best Sinc Interpolator 4 1895055 (x 43.41) 1892653 (x 43.35) 229276 (x 5.25)
Best Sinc Interpolator 5 1613921 (x 36.97) 1628117 (x 37.29) 123603 (x 2.83)
Best Sinc Interpolator 6 1569066 (x 35.94) 1566992 (x 35.89) 198040 (x 4.54)
Best Sinc Interpolator 7 1296081 (x 29.69) 1402193 (x 32.12) 90979 (x 2.08)
Best Sinc Interpolator 8 1187603 (x 27.20) 1253861 (x 28.72) 84939 (x 1.95)
Best Sinc Interpolator 9 1071478 (x 24.54) 1097344 (x 25.13) 80740 (x 1.85)
Best Sinc Interpolator 10 1003206 (x 22.98) 1006017 (x 23.04) 75260 (x 1.72)
SRC_RATIO : 2.00
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- --------------------------
Fastest Sinc Interpolator 1 23360228 (x 264.86) 22736188 (x 257.78) 2946999 (x 33.41)
Fastest Sinc Interpolator 2 21372339 (x 242.32) 20217167 (x 229.22) 2709364 (x 30.72)
Fastest Sinc Interpolator 3 17020458 (x 192.98) 16171442 (x 183.35) 1246585 (x 14.13)
Fastest Sinc Interpolator 4 16069963 (x 182.20) 14747527 (x 167.21) 2067706 (x 23.44)
Fastest Sinc Interpolator 5 13365211 (x 151.53) 12872925 (x 145.95) 970611 (x 11.00)
Medium Sinc Interpolator 1 16412307 (x 186.08) 8881813 (x 100.70) 1317847 (x 14.94)
Medium Sinc Interpolator 2 14954823 (x 169.56) 8230452 (x 93.32) 1246604 (x 14.13)
Medium Sinc Interpolator 3 10997127 (x 124.68) 6968913 (x 79.01) 581464 (x 6.59)
Medium Sinc Interpolator 4 10064307 (x 114.11) 6388635 (x 72.43) 945012 (x 10.71)
Medium Sinc Interpolator 5 8042831 (x 91.19) 5489548 (x 62.24) 439708 (x 4.99)
Best Sinc Interpolator 1 8497627 (x 96.34) 2703943 (x 30.66) 444756 (x 5.04)
Best Sinc Interpolator 2 7270660 (x 82.43) 2578758 (x 29.24) 407956 (x 4.63)
Best Sinc Interpolator 3 4687158 (x 53.14) 2172766 (x 24.63) 194233 (x 2.20)
Best Sinc Interpolator 4 4306196 (x 48.82) 2080988 (x 23.59) 300526 (x 3.41)
Best Sinc Interpolator 5 3266027 (x 37.03) 1753489 (x 19.88) 143217 (x 1.62)
Best Sinc Interpolator 6 2881557 (x 32.67) 1756467 (x 19.91) 252612 (x 2.86)
Best Sinc Interpolator 7 2686547 (x 30.46) 1558904 (x 17.67) 106518 (x 1.21)
Best Sinc Interpolator 8 2502733 (x 28.38) 1411842 (x 16.01) 97390 (x 1.10)
Best Sinc Interpolator 9 2096153 (x 23.77) 1251207 (x 14.19) 89430 (x 1.01)
Best Sinc Interpolator 10 2062706 (x 23.39) 1166248 (x 13.22) 83105 (x 0.94)
SRC_RATIO : 7.00
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- --------------------------
Fastest Sinc Interpolator 1 25086964 (x 81.27) 15897070 (x 51.50) 2913253 (x 9.44)
Fastest Sinc Interpolator 2 23432790 (x 75.91) 16345814 (x 52.95) 2691671 (x 8.72)
Fastest Sinc Interpolator 3 18483233 (x 59.87) 14135872 (x 45.79) 1258286 (x 4.08)
Fastest Sinc Interpolator 4 18131462 (x 58.73) 13189839 (x 42.73) 2074321 (x 6.72)
Fastest Sinc Interpolator 5 15203693 (x 49.25) 11550759 (x 37.42) 972122 (x 3.15)
Medium Sinc Interpolator 1 17145587 (x 55.54) 9291460 (x 30.10) 1282661 (x 4.16)
Medium Sinc Interpolator 2 15934270 (x 51.62) 8707996 (x 28.21) 1202105 (x 3.89)
Medium Sinc Interpolator 3 11709352 (x 37.93) 7343613 (x 23.79) 571358 (x 1.85)
Medium Sinc Interpolator 4 10722703 (x 34.74) 6773466 (x 21.94) 917705 (x 2.97)
Medium Sinc Interpolator 5 8683235 (x 28.13) 5835175 (x 18.90) 432289 (x 1.40)
Best Sinc Interpolator 1 8592448 (x 27.83) 2744883 (x 8.89) 389036 (x 1.26)
Best Sinc Interpolator 2 7253302 (x 23.50) 2599250 (x 8.42) 359145 (x 1.16)
Best Sinc Interpolator 3 4759826 (x 15.42) 2199713 (x 7.13) 179872 (x 0.58)
Best Sinc Interpolator 4 4370238 (x 14.16) 2093183 (x 6.78) 262926 (x 0.85)
Best Sinc Interpolator 5 3329585 (x 10.79) 1798441 (x 5.83) 135256 (x 0.44)
Best Sinc Interpolator 6 3346581 (x 10.84) 1751943 (x 5.68) 226480 (x 0.73)
Best Sinc Interpolator 7 2753861 (x 8.92) 1561983 (x 5.06) 99273 (x 0.32)
Best Sinc Interpolator 8 2561411 (x 8.30) 1416038 (x 4.59) 92115 (x 0.30)
Best Sinc Interpolator 9 2133711 (x 6.91) 1243797 (x 4.03) 86569 (x 0.28)
Best Sinc Interpolator 10 2103193 (x 6.81) 1150882 (x 3.73) 80368 (x 0.26)
SRC_RATIO : 0.25
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- --------------------------
Fastest Sinc Interpolator 1 8450528 (x 766.49) 8379715 (x 760.06) 844095 (x 76.56)
Fastest Sinc Interpolator 2 6691200 (x 606.91) 6595874 (x 598.27) 776601 (x 70.44)
Fastest Sinc Interpolator 3 4794910 (x 434.91) 4741967 (x 430.11) 357715 (x 32.45)
Fastest Sinc Interpolator 4 3944899 (x 357.81) 3924020 (x 355.92) 590539 (x 53.56)
Fastest Sinc Interpolator 5 3185471 (x 288.93) 3148933 (x 285.62) 267403 (x 24.25)
Medium Sinc Interpolator 1 2545789 (x 230.91) 2566129 (x 232.76) 367001 (x 33.29)
Medium Sinc Interpolator 2 2244949 (x 203.62) 2258829 (x 204.88) 344064 (x 31.21)
Medium Sinc Interpolator 3 1807346 (x 163.93) 1810465 (x 164.21) 154623 (x 14.02)
Medium Sinc Interpolator 4 1612026 (x 146.22) 1610174 (x 146.05) 252313 (x 22.89)
Medium Sinc Interpolator 5 1360607 (x 123.41) 1358991 (x 123.26) 114279 (x 10.37)
Best Sinc Interpolator 1 701720 (x 63.65) 706311 (x 64.06) 99126 (x 8.99)
Best Sinc Interpolator 2 652858 (x 59.22) 660122 (x 59.88) 91180 (x 8.27)
Best Sinc Interpolator 3 563100 (x 51.07) 559525 (x 50.75) 46184 (x 4.19)
Best Sinc Interpolator 4 516150 (x 46.82) 517819 (x 46.97) 68173 (x 6.18)
Best Sinc Interpolator 5 438872 (x 39.81) 441352 (x 40.03) 34267 (x 3.11)
Best Sinc Interpolator 6 425251 (x 38.57) 424684 (x 38.52) 57094 (x 5.18)
Best Sinc Interpolator 7 375483 (x 34.06) 327954 (x 29.75) 25237 (x 2.29)
Best Sinc Interpolator 8 300457 (x 27.25) 333444 (x 30.24) 23463 (x 2.13)
Best Sinc Interpolator 9 293260 (x 26.60) 292853 (x 26.56) 21543 (x 1.95)
Best Sinc Interpolator 10 267652 (x 24.28) 269366 (x 24.43) 20681 (x 1.88)
FYI 2: results of multichan_throughput_test on another machine.
Windows 10 22H2
Visual Studio 2022 (MSVC)
Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz 8-core CPU x2 = 16 cores w/o HT, NUMA configuration
set OMP_PROC_BIND=true
MT: cmake . -DBUILD_MULTI_THREADING=1
ST: cmake . -DBUILD_MULTI_THREADING=0
SRC_RATIO : 0.99 Throughput (times faster than realtime if input is 44.1k)
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- -------------------------
Fastest Sinc Interpolator 1 39595138 (x 906.92) 40381623 (x 924.93) 9788397 (x 224.20)
Fastest Sinc Interpolator 2 34322049 (x 786.14) 37532640 (x 859.68) 8294814 (x 189.99)
Fastest Sinc Interpolator 3 32959548 (x 754.93) 31871823 (x 730.02) 3757837 (x 86.07)
Fastest Sinc Interpolator 4 28697308 (x 657.31) 28723261 (x 657.90) 6021516 (x 137.92)
Fastest Sinc Interpolator 5 26907033 (x 616.30) 27742688 (x 635.44) 3304962 (x 75.70)
Medium Sinc Interpolator 1 31098028 (x 712.29) 32096452 (x 735.16) 4694531 (x 107.53)
Medium Sinc Interpolator 2 27239124 (x 623.91) 27049967 (x 619.57) 3930216 (x 90.02)
Medium Sinc Interpolator 3 23037080 (x 527.66) 23547477 (x 539.35) 1882485 (x 43.12)
Medium Sinc Interpolator 4 20040521 (x 459.02) 20840098 (x 477.34) 2821238 (x 64.62)
Medium Sinc Interpolator 5 18752915 (x 429.53) 18261365 (x 418.27) 1474545 (x 33.77)
Best Sinc Interpolator 1 13173179 (x 301.73) 14049233 (x 321.79) 888947 (x 20.36)
Best Sinc Interpolator 2 12166808 (x 278.68) 12610344 (x 288.84) 732030 (x 16.77)
Best Sinc Interpolator 3 10106721 (x 231.49) 9974372 (x 228.46) 424141 (x 9.71)
Best Sinc Interpolator 4 8337337 (x 190.96) 8269147 (x 189.40) 531926 (x 12.18)
Best Sinc Interpolator 5 6813632 (x 156.06) 7109426 (x 162.84) 320076 (x 7.33)
Best Sinc Interpolator 6 6029607 (x 138.11) 5878218 (x 134.64) 417476 (x 9.56)
Best Sinc Interpolator 7 5064976 (x 116.01) 4947400 (x 113.32) 259898 (x 5.95)
Best Sinc Interpolator 8 4189830 (x 95.97) 4343983 (x 99.50) 351089 (x 8.04)
Best Sinc Interpolator 9 3633851 (x 83.23) 3774632 (x 86.46) 284169 (x 6.51)
Best Sinc Interpolator 10 3226492 (x 73.90) 3223254 (x 73.83) 254683 (x 5.83)
SRC_RATIO : 2.00
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- -------------------------
Fastest Sinc Interpolator 1 47081062 (x 533.80) 50363931 (x 571.02) 9921784 (x 112.49)
Fastest Sinc Interpolator 2 44433408 (x 503.78) 45980057 (x 521.32) 8497586 (x 96.34)
Fastest Sinc Interpolator 3 38849148 (x 440.47) 38919052 (x 441.26) 4220750 (x 47.85)
Fastest Sinc Interpolator 4 34026291 (x 385.79) 35198899 (x 399.08) 6068633 (x 68.81)
Fastest Sinc Interpolator 5 33117386 (x 375.48) 32494874 (x 368.42) 3323935 (x 37.69)
Medium Sinc Interpolator 1 43437412 (x 492.49) 34889669 (x 395.57) 4787067 (x 54.28)
Medium Sinc Interpolator 2 37977070 (x 430.58) 32957940 (x 373.67) 4085361 (x 46.32)
Medium Sinc Interpolator 3 31771368 (x 360.22) 28561835 (x 323.83) 1883264 (x 21.35)
Medium Sinc Interpolator 4 27249868 (x 308.96) 24448255 (x 277.19) 2885150 (x 32.71)
Medium Sinc Interpolator 5 24541881 (x 278.25) 22900550 (x 259.64) 1506912 (x 17.09)
Best Sinc Interpolator 1 28172886 (x 319.42) 16387272 (x 185.80) 1516794 (x 17.20)
Best Sinc Interpolator 2 22089903 (x 250.45) 14412155 (x 163.40) 1220119 (x 13.83)
Best Sinc Interpolator 3 16637152 (x 188.63) 11736829 (x 133.07) 615111 (x 6.97)
Best Sinc Interpolator 4 12947324 (x 146.80) 10151988 (x 115.10) 860428 (x 9.76)
Best Sinc Interpolator 5 10999394 (x 124.71) 9012208 (x 102.18) 450790 (x 5.11)
Best Sinc Interpolator 6 9155592 (x 103.80) 7728492 (x 87.62) 654957 (x 7.43)
Best Sinc Interpolator 7 7586964 (x 86.02) 6655592 (x 75.46) 371950 (x 4.22)
Best Sinc Interpolator 8 6583734 (x 74.65) 5851194 (x 66.34) 471859 (x 5.35)
Best Sinc Interpolator 9 5820543 (x 65.99) 5063872 (x 57.41) 412105 (x 4.67)
Best Sinc Interpolator 10 4953455 (x 56.16) 4459838 (x 50.57) 366409 (x 4.15)
SRC_RATIO : 7.00
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- -------------------------
Fastest Sinc Interpolator 1 52292566 (x 169.40) 49453224 (x 160.20) 9856614 (x 31.93)
Fastest Sinc Interpolator 2 48539360 (x 157.24) 44249907 (x 143.34) 8409776 (x 27.24)
Fastest Sinc Interpolator 3 40492355 (x 131.17) 38307830 (x 124.09) 4118617 (x 13.34)
Fastest Sinc Interpolator 4 36267622 (x 117.49) 34917580 (x 113.11) 6040003 (x 19.57)
Fastest Sinc Interpolator 5 35367928 (x 114.57) 32243220 (x 104.45) 3316638 (x 10.74)
Medium Sinc Interpolator 1 43463475 (x 140.80) 36797658 (x 119.20) 4771020 (x 15.46)
Medium Sinc Interpolator 2 38448835 (x 124.55) 33187430 (x 107.51) 3986881 (x 12.92)
Medium Sinc Interpolator 3 33233085 (x 107.65) 28387470 (x 91.96) 1874309 (x 6.07)
Medium Sinc Interpolator 4 27459584 (x 88.95) 23766954 (x 76.99) 2835189 (x 9.18)
Medium Sinc Interpolator 5 23707941 (x 76.80) 22398767 (x 72.56) 1508417 (x 4.89)
Best Sinc Interpolator 1 27922212 (x 90.45) 16524537 (x 53.53) 1402395 (x 4.54)
Best Sinc Interpolator 2 20199182 (x 65.43) 14074317 (x 45.59) 1115616 (x 3.61)
Best Sinc Interpolator 3 15093399 (x 48.89) 11889402 (x 38.51) 589591 (x 1.91)
Best Sinc Interpolator 4 11985896 (x 38.83) 10169153 (x 32.94) 785018 (x 2.54)
Best Sinc Interpolator 5 9722858 (x 31.50) 8624474 (x 27.94) 438291 (x 1.42)
Best Sinc Interpolator 6 7904728 (x 25.61) 7567108 (x 24.51) 609587 (x 1.97)
Best Sinc Interpolator 7 6717007 (x 21.76) 6618335 (x 21.44) 352020 (x 1.14)
Best Sinc Interpolator 8 5834589 (x 18.90) 5859612 (x 18.98) 483515 (x 1.57)
Best Sinc Interpolator 9 5070880 (x 16.43) 4947631 (x 16.03) 393921 (x 1.28)
Best Sinc Interpolator 10 4414437 (x 14.30) 4589021 (x 14.87) 368407 (x 1.19)
SRC_RATIO : 0.25
Converter Ch MT(MT_COEFFS_CACHING 1) MT(MT_COEFFS_CACHING 0) SingleThread
--------------------------- ------- -------------------------- -------------------------- -------------------------
Fastest Sinc Interpolator 1 21996035 (x1995.11) 28096217 (x2548.41) 3068115 (x 278.29)
Fastest Sinc Interpolator 2 20082767 (x1821.57) 21761228 (x1973.81) 2562659 (x 232.44)
Fastest Sinc Interpolator 3 15792473 (x1432.42) 17817597 (x1616.11) 1170477 (x 106.17)
Fastest Sinc Interpolator 4 13023641 (x1181.28) 14996275 (x1360.21) 1781154 (x 161.56)
Fastest Sinc Interpolator 5 10996301 (x 997.40) 12292682 (x1114.98) 916249 (x 83.11)
Medium Sinc Interpolator 1 12943360 (x1174.00) 14153837 (x1283.79) 1392852 (x 126.34)
Medium Sinc Interpolator 2 10649600 (x 965.95) 11881676 (x1077.70) 1143374 (x 103.71)
Medium Sinc Interpolator 3 8605139 (x 780.51) 9195326 (x 834.04) 507793 (x 46.06)
Medium Sinc Interpolator 4 7530086 (x 683.00) 7829913 (x 710.20) 778321 (x 70.60)
Medium Sinc Interpolator 5 6632648 (x 601.60) 6921024 (x 627.76) 396300 (x 35.95)
Best Sinc Interpolator 1 4630616 (x 420.01) 4596949 (x 416.96) 355611 (x 32.25)
Best Sinc Interpolator 2 4016553 (x 364.31) 3927312 (x 356.22) 287553 (x 26.08)
Best Sinc Interpolator 3 3014145 (x 273.39) 3145824 (x 285.34) 148463 (x 13.47)
Best Sinc Interpolator 4 2479545 (x 224.90) 2483814 (x 225.29) 208962 (x 18.95)
Best Sinc Interpolator 5 2037886 (x 184.84) 2019538 (x 183.18) 109712 (x 9.95)
Best Sinc Interpolator 6 1673556 (x 151.80) 1703462 (x 154.51) 158918 (x 14.41)
Best Sinc Interpolator 7 1434620 (x 130.12) 1409353 (x 127.83) 89947 (x 8.16)
Best Sinc Interpolator 8 1192516 (x 108.16) 1120217 (x 101.61) 121429 (x 11.01)
Best Sinc Interpolator 9 986119 (x 89.44) 992536 (x 90.03) 96541 (x 8.76)
Best Sinc Interpolator 10 848743 (x 76.98) 874609 (x 79.33) 90737 (x 8.23)
_Originally posted by @arlofaria in https://github.com/libsndfile/libsamplerate/issues/6#issuecomment-959173709