libsamplerate icon indicating copy to clipboard operation
libsamplerate copied to clipboard

Parallelize resampling (with high delay)

Open arlofaria opened this issue 2 years ago • 8 comments

I think such a function would be helpful for anyone trying to speed up SRC by parallelizing its computation over multiple threads. You could split the input to apply SRC independently on each segment, but then it'd be good to know how much overlap is needed between adjacent segments so that you can stitch it together correctly -- ideally to get bitwise identical results compared to single-threaded processing. FWIW: my goal would be to make SRC as fast as VAD, which can be thousands of times faster than real-time -- but it operates internally on 8kHz audio.

_Originally posted by @arlofaria in https://github.com/libsndfile/libsamplerate/issues/6#issuecomment-959173709

arlofaria avatar Jan 13 '22 16:01 arlofaria

This would require multi-threading, which might be complicated to introduce in this codebase.

arlofaria avatar Jan 13 '22 16:01 arlofaria

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

ss3git avatar Sep 17 '23 11:09 ss3git

Hi @ss3git . Interesting idea. Pull request?

evpobr avatar Sep 20 '23 08:09 evpobr

Hi, I hope I sent the request correctly. I'm actually not so familiar with github yet.

ss3git avatar Sep 20 '23 08:09 ss3git

This looks awesome. What's type of speed boost does this actually give ?

luzpaz avatar Nov 03 '23 13:11 luzpaz

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

ss3git avatar Nov 03 '23 15:11 ss3git

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)  

ss3git avatar Nov 17 '23 18:11 ss3git

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) 

ss3git avatar Nov 18 '23 10:11 ss3git