Hi there!

Sorry, I have been sidetracked a bit. See below 2 minimal examples. firLongTime.dsp takes around 5 minutes to compile, while firShortTime.dsp takes only a bunch of seconds. The FIR taps are all the same, only the precision is different. 64 bit on LongTime, 32 on ShortTime.

The taps are calculated by inverse Fourier transform of frequency responses from simulated data. Interestingly, I struggle to reproduce long compiling time when designing FIRs with standard FIR design methods. Could the numerical values be the issue? I verified that, once implemented, the FIR responses are the expected ones.

firLongTime.dsp

fi = library("filters.lib");

process = fi.fir((8.111819624900818e-6, -5.972757935523987e-5, -3.5375356674194336e-5, -3.766082227230072e-5, 8.834060281515121e-6, 2.801511436700821e-5, 5.5641401559114456e-5, 4.013720899820328e-5, 1.9789673388004303e-5, -2.608681097626686e-5, -5.110877100378275e-5, -6.672716699540615e-5, -4.328135401010513e-5, -1.002592034637928e-5, 3.691180609166622e-5, 5.897443043068051e-5, 6.142316851764917e-5, 2.70352466031909e-5, -1.4985562302172184e-5, -5.9206446167081594e-5, -7.207132875919342e-5, -5.912256892770529e-5, -1.3676704838871956e-5, 3.2583833672106266e-5, 6.900925654917955e-5, 6.763101555407047e-5, 3.806606400758028e-5, -1.6519275959581137e-5, -6.16945035289973e-5, -8.491775952279568e-5, -6.534799467772245e-5, -1.911463914439082e-5, 4.150395398028195e-5, 8.028020965866745e-5, 8.582154987379909e-5, 4.605232970789075e-5, -1.5059893485158682e-5, -7.745523180346936e-5, -0.00010490871500223875, -9.004760067909956e-5, -3.08192684315145e-5, 4.077519406564534e-5, 9.897796553559601e-5, 0.0001100351510103792, 7.323239697143435e-5, -2.71043973043561e-6, -7.850686961319298e-5, -0.00012537711882032454, -0.00011488760355859995, -5.5370619520545006e-5, 3.335971268825233e-5, 0.00010612330515868962, 0.00013423009659163654, 9.759300155565143e-5, 1.5715777408331633e-5, -8.067805174505338e-5, -0.0001425848458893597, -0.00014489854220300913, -7.892731809988618e-5, 2.3074986529536545e-5, 0.00012043908645864576, 0.0001632237108424306, 0.00013373614638112485, 3.7522317143157125e-5, -7.966536213643849e-5, -0.00016922401846386492, -0.0001840347540564835, -0.00011794635793194175, 6.836795364506543e-6, 0.00013135607878211886, 0.000202320545213297, 0.00018015175010077655, 7.456410094164312e-5, -7.388357335003093e-5, -0.00019475078443065286, -0.00023481430253013968, -0.00016770744696259499, -2.3093583877198398e-5, 0.00013971571752335876, 0.0002424627309665084, 0.00023836726904846728, 0.00012042898742947727, -5.854424671269953e-5, -0.00022207890287972987, -0.00028987909900024533, -0.00022923844517208636, -5.8450124925002456e-5, 0.00014509749598801136, 0.00029182180878706276, 0.0003072584804613143, 0.0001810732064768672, -3.838824341073632e-5, -0.000250297540333122, -0.00035892025334760547, -0.00030535130645148456, -0.00010977889178320765, 0.00014683444169349968, 0.00034474636777304113, 0.0003919278387911618, 0.0002558422274887562, -6.052865501260385e-6, -0.0002809391589835286, -0.0004383167834021151, -0.00040200669900514185, -0.0001763555483194068, 0.00014001908130012453, 0.00040729957981966436, 0.0004959243815392256, 0.00035890372237190604, 4.6215078327804804e-5, -0.00030251158750616014, -0.0005299239419400692, -0.0005221118917688727, -0.00027465581661090255, 0.00011122384603368118, 0.00045997294364497066, 0.0006106763612478971, 0.00048182756290771067, 0.00012341987167019397, -0.0003108379023615271, -0.0006198440678417683, -0.0006567814853042364, -0.0003895527042914182, 6.88949367031455e-5, 0.0005165924085304141, 0.0007422770722769201, 0.000633169081993401, 0.00022188632283359766, -0.0003121207992080599, -0.0007289504283107817, -0.0008270826656371355, -0.0005483795539475977, -2.0355764718260616e-6, 0.0005688068922609091, 0.0009030250366777182, 0.0008323777001351118, 0.00037300249096006155, -0.00028278178069740534, -0.0008382732048630714, -0.0010340476874262094, -0.0007607134757563472, -0.00012538860028143972, 0.0005968501791357994, 0.0010737008415162563, 0.0010755314724519849, 0.0005776111502200365, -0.00021038277191109955, -0.0009391756029799581, -0.0012665500398725271, -0.0010244932491332293, -0.00029663904570043087, 0.0006003743037581444, 0.001260884222574532, 0.001365577569231391, 0.0008415996562689543, -0.00010018875764217228, -0.0010412703268229961, -0.0015474027022719383, -0.0013609490124508739, -0.0005366073455661535, 0.0005767272668890655, 0.0014754274161532521, 0.0017345788655802608, 0.0012008028570562601, 8.4199637058191e-5, -0.0011287468951195478, -0.0018792194314301014, -0.0017987089231610298, -0.0008814729517325759, 0.0004874772275798023, 0.0016985913971439004, 0.002181458752602339, 0.0016779860015958548, 0.00037012973916716874, -0.0011751755373552442, -0.0022563065867871046, -0.002347707748413086, -0.0013589145382866263, 0.00030877807876095176, 0.0019162932876497507, 0.0027184728533029556, 0.002301492728292942, 0.0007977542118169367, -0.0011544751469045877, -0.002673650858923793, -0.003036641515791416, -0.002014269819483161, -8.963915206550155e-6, 0.002105274237692356, 0.003355626715347171, 0.0031208177097141743, 0.0014294344000518322, -0.0010131929302588105, -0.0031213625334203243, -0.0039031533524394035, -0.002928411355242133, -0.0005500254919752479, 0.0022110729478299618, 0.0041061281226575375, 0.004214184358716011, 0.0023884004913270473, -0.0006412358488887548, -0.003549525048583746, -0.004996969364583492, -0.004235988017171621, -0.0014907101867720485, 0.0020982008427381516, 0.004937902092933655, 0.005689950659871101, 0.003887750208377838, 0.00020277318253647536, -0.0038023546803742647, -0.0063262744806706905, -0.0061361175030469894, -0.0031511131674051285, 0.0014498211676254869, 0.00569187942892313, 0.007640158757567406, 0.0062746815383434296, 0.001994546502828598, -0.0034715882502496243, -0.007761784363538027, -0.008886315859854221, -0.006135627627372742, -0.0004647218738682568, 0.005821732804179192, 0.010002999566495419, 0.010099805891513824, 0.0057846540585160255, -0.001381603186018765, -0.008503329008817673, -0.012516406364738941, -0.011480014771223068, -0.005471237935125828, 0.0033339117653667927, 0.011446158401668072, 0.015444883145391941, 0.01339002139866352, 0.005700575187802315, -0.0049005476757884026, -0.014369246549904346, -0.018903400748968124, -0.016456669196486473, -0.007612231187522411, 0.004568140488117933, 0.015669696033000946, 0.021622728556394577, 0.0203031487762928, 0.01242770440876484, 0.0013681635027751327, -0.00804674718528986, -0.011316471733152866, -0.0059608034789562225, 0.007492599077522755, 0.02560659684240818, 0.04315889626741409, 0.054895929992198944, 0.05726735666394234, 0.04954323172569275, 0.03395789861679077, 0.01485920324921608, -0.002777769695967436, -0.014923285692930222, -0.019626129418611526, -0.017351452261209488, -0.010502180084586143, -0.00236275652423501, 0.00409351009875536, 0.007119558751583099, 0.006540568545460701, 0.003503843443468213, -0.000201319286134094, -0.0029291873797774315, -0.0037752892822027206, -0.0027807997539639473, -0.0007404866046272218, 0.0012599059846252203, 0.0023407330736517906, 0.002167051425203681, 0.0010036464082077146, -0.00048429699381813407, -0.0015779919922351837, -0.0018233192386105657, -0.0012003316078335047, -7.916122558526695e-5, 0.0009833975927904248, 0.0015120288589969277, 0.0013125967234373093, 0.0005343216471374035, -0.0004294856626074761, -0.0011336295865476131, -0.0012843571603298187, -0.0008541482384316623, -7.544308027718216e-5, 0.0006837779656052589, 0.0010894077131524682, 0.0009876179974526167, 0.00045701474300585687, -0.00024008160107769072, -0.0007875101873651147, -0.0009550323593430221, -0.0006951720570214093, -0.00014932242629583925, 0.0004247166507411748, 0.0007751142838969827, 0.0007633919594809413, 0.00041913881432265043, -8.611034718342125e-5, -0.0005211743991822004, -0.0007017888710834086, -0.0005658560548909009, -0.00019408480147831142, 0.00023648125352337956, 0.0005342528456822038, 0.0005791362491436303, 0.0003683135728351772, 1.1157841072417796e-5, -0.0003275335766375065, -0.0005014577182009816, -0.00044666745816357434, -0.00020234889234416187, 0.00011193627142347395, 0.0003550986875779927, 0.000426013779360801, 0.00030603358754888177, 6.012314042891376e-5, -0.00019596170750446618, -0.0003506052016746253, -0.00034337336546741426, -0.0001887026010081172, 3.6607671063393354e-5, 0.00023000681539997458, 0.00031027826480567455, 0.00025018095038831234, 8.527359750587493e-5, -0.00010666518937796354, -0.00024125180789269507, -0.00026492716278880835, -0.00017494986241217703, -1.7621750885155052e-5, 0.00013566977577283978, 0.0002200532762799412, 0.00020480735111050308, 0.00010335975093767047, -3.521799226291478e-5, -0.00014999069389887154, -0.00019440462347120047, -0.00015509419608861208, -5.472781776916236e-5, 6.0011574532836676e-5, 0.0001399684406351298, 0.00015417829854413867, 0.00010153192124562338, 9.010924259200692e-6, -8.163116581272334e-5, -0.00013231346383690834, -0.0001243918959517032, -6.495871639344841e-5, 1.759741280693561e-5, 8.708136738277972e-5, 0.00011476113286335021, 9.129606769420207e-5, 2.90746393147856e-5, -4.3650856241583824e-5, -9.597087046131492e-5, -0.0001067082048393786, -7.343445759033784e-5, -1.1841329978778958e-5, 5.087620229460299e-5, 8.871259342413396e-5, 8.676136349095032e-5, 4.789774538949132e-5, -1.019798219203949e-5, -6.199153722263873e-5, -8.627872739452869e-5, -7.374429696938023e-5, -3.167754039168358e-5, 2.1078623831272125e-5, 6.119676982052624e-5, 7.238902617245913e-5, 5.060745752416551e-5, 6.864604074507952e-6, -3.9646547520533204e-5, -6.84285769239068e-5, -6.824250885983929e-5, -3.978743916377425e-5, 3.2104726415127516e-6, 4.232494393363595e-5, 6.057432256056927e-5, 5.171928205527365e-5, 2.029608003795147e-5, -1.8554506823420525e-5, -4.8476606025360525e-5, -5.658985173795372e-5, -4.135246854275465e-5, -1.0070449206978083e-5, 2.2095482563599944e-5, 4.1857812902890146e-5, 4.066390101797879e-5, 2.1007785107940435e-5, -8.249538950622082e-6, -3.3065007301047444e-5, -4.375245771370828e-5, -3.5679928259924054e-5, -1.425325172021985e-5, 1.1437688954174519e-5, 2.9299757443368435e-5, 3.315965295769274e-5, 2.135534305125475e-5, 8.428469300270081e-7, -2.017294173128903e-5, -3.1859101000009105e-5, -3.103195922449231e-5, -1.7865735571831465e-5, 1.9755680114030838e-7, 1.6412610420957208e-5, 2.3020023945719004e-5, 1.906545367091894e-5, 5.625537596642971e-6, -9.985757060348988e-6, -2.2507287212647498e-5, -2.5681627448648214e-5, -1.9973667804151773e-5, -6.669899448752403e-6, 7.220223778858781e-6, 1.760193845257163e-5, 1.9002007320523262e-5, 1.2648641131818295e-5, -2.977321855723858e-7, -1.2979988241568208e-5, -2.2020656615495682e-5, -2.2237421944737434e-5, -1.5422585420310497e-5, -2.6978086680173874e-6, 8.871749741956592e-6, 1.6398669686168432e-5, 1.494470052421093e-5, 7.155700586736202e-6, -5.5482960306108e-6, -1.5670841094106436e-5, -2.0896783098578453e-5, -1.687824260443449e-5, -7.579568773508072e-6, 5.0260359785170294e-6, 1.2991135008633137e-5, 1.4958670362830162e-5, 7.593538612127304e-6, -3.402354195713997e-6, -1.5491503290832043e-5, -2.0532053895294666e-5, -1.8661492504179478e-5, -7.939757779240608e-6, 4.0651357267051935e-6, 1.4591380022466183e-5, 1.5850644558668137e-5, 1.0051298886537552e-5, -3.222143277525902e-6, -1.4833174645900726e-5, -2.2559426724910736e-5, -1.9565457478165627e-5, -1.050485298037529e-5, 3.927038051187992e-6, 1.3658427633345127e-5, 1.793517731130123e-5, 1.1241761967539787e-5, 5.780020728707314e-7, -1.301747397519648e-5, -1.9383849576115608e-5, -2.000434324145317e-5, -1.0680640116333961e-5, -4.200264811515808e-7, 1.0433956049382687e-5, 1.2302771210670471e-5, 9.434297680854797e-6, -1.410720869898796e-6, -9.790179319679737e-6, -1.7029116861522198e-5, -1.4452729374170303e-5, -9.239651262760162e-6, 1.7748679965734482e-6, 7.244074367918074e-6, 1.1048046872019768e-5, 5.121342837810516e-6, -6.761401891708374e-7, -1.0592164471745491e-5, -1.2698816135525703e-5, -1.3980548828840256e-5, -6.08246773481369e-6, -1.3117678463459015e-6, 7.002614438533783e-6, 5.952315405011177e-6, 6.144866347312927e-6, -2.5043264031410217e-6, -5.074311047792435e-6, -1.2071803212165833e-5, -8.434290066361427e-6, -9.301118552684784e-6, -5.653128027915955e-7, -1.212581992149353e-6, 5.550449714064598e-6, -4.782341420650482e-7, 3.050081431865692e-6, -6.333924829959869e-6, -9.676441550254822e-7, -9.809155017137527e-6, 8.289935067296028e-7, -8.870847523212433e-6, 6.769783794879913e-6, -1.042243093252182e-5, 1.4101387932896614e-5, -2.827867865562439e-5, 8.108280599117279e-5));

firShortTime.dsp

fi = library("filters.lib");

process = fi.fir((8.11182e-6, -5.972758e-5, -3.5375357e-5, -3.7660822e-5, 8.83406e-6, 2.8015114e-5, 5.56414e-5, 4.013721e-5, 1.9789673e-5, -2.6086811e-5, -5.110877e-5, -6.672717e-5, -4.3281354e-5, -1.002592e-5, 3.6911806e-5, 5.897443e-5, 6.142317e-5, 2.7035247e-5, -1.4985562e-5, -5.9206446e-5, -7.207133e-5, -5.912257e-5, -1.3676705e-5, 3.2583834e-5, 6.900926e-5, 6.7631016e-5, 3.8066064e-5, -1.6519276e-5, -6.16945e-5, -8.491776e-5, -6.5347995e-5, -1.911464e-5, 4.1503954e-5, 8.028021e-5, 8.582155e-5, 4.605233e-5, -1.50598935e-5, -7.745523e-5, -0.000104908715, -9.00476e-5, -3.081927e-5, 4.0775194e-5, 9.8977966e-5, 0.00011003515, 7.32324e-5, -2.7104397e-6, -7.850687e-5, -0.00012537712, -0.0001148876, -5.537062e-5, 3.3359713e-5, 0.000106123305, 0.0001342301, 9.7593e-5, 1.5715777e-5, -8.067805e-5, -0.00014258485, -0.00014489854, -7.892732e-5, 2.3074987e-5, 0.00012043909, 0.00016322371, 0.00013373615, 3.7522317e-5, -7.966536e-5, -0.00016922402, -0.00018403475, -0.00011794636, 6.8367954e-6, 0.00013135608, 0.00020232055, 0.00018015175, 7.45641e-5, -7.388357e-5, -0.00019475078, -0.0002348143, -0.00016770745, -2.3093584e-5, 0.00013971572, 0.00024246273, 0.00023836727, 0.00012042899, -5.8544247e-5, -0.0002220789, -0.0002898791, -0.00022923845, -5.8450125e-5, 0.0001450975, 0.0002918218, 0.00030725848, 0.0001810732, -3.8388243e-5, -0.00025029754, -0.00035892025, -0.0003053513, -0.00010977889, 0.00014683444, 0.00034474637, 0.00039192784, 0.00025584223, -6.0528655e-6, -0.00028093916, -0.00043831678, -0.0004020067, -0.00017635555, 0.00014001908, 0.00040729958, 0.0004959244, 0.00035890372, 4.621508e-5, -0.0003025116, -0.00052992394, -0.0005221119, -0.00027465582, 0.000111223846, 0.00045997294, 0.00061067636, 0.00048182756, 0.00012341987, -0.0003108379, -0.00061984407, -0.0006567815, -0.0003895527, 6.889494e-5, 0.0005165924, 0.0007422771, 0.0006331691, 0.00022188632, -0.0003121208, -0.0007289504, -0.00082708267, -0.00054837955, -2.0355765e-6, 0.0005688069, 0.00090302504, 0.0008323777, 0.0003730025, -0.00028278178, -0.0008382732, -0.0010340477, -0.0007607135, -0.0001253886, 0.0005968502, 0.0010737008, 0.0010755315, 0.00057761115, -0.00021038277, -0.0009391756, -0.00126655, -0.0010244932, -0.00029663905, 0.0006003743, 0.0012608842, 0.0013655776, 0.00084159966, -0.00010018876, -0.0010412703, -0.0015474027, -0.001360949, -0.00053660735, 0.00057672727, 0.0014754274, 0.0017345789, 0.0012008029, 8.419964e-5, -0.0011287469, -0.0018792194, -0.0017987089, -0.00088147295, 0.00048747723, 0.0016985914, 0.0021814588, 0.001677986, 0.00037012974, -0.0011751755, -0.0022563066, -0.0023477077, -0.0013589145, 0.00030877808, 0.0019162933, 0.0027184729, 0.0023014927, 0.0007977542, -0.0011544751, -0.0026736509, -0.0030366415, -0.0020142698, -8.963915e-6, 0.0021052742, 0.0033556267, 0.0031208177, 0.0014294344, -0.0010131929, -0.0031213625, -0.0039031534, -0.0029284114, -0.0005500255, 0.002211073, 0.004106128, 0.0042141844, 0.0023884005, -0.00064123585, -0.003549525, -0.0049969694, -0.004235988, -0.0014907102, 0.0020982008, 0.004937902, 0.0056899507, 0.0038877502, 0.00020277318, -0.0038023547, -0.0063262745, -0.0061361175, -0.0031511132, 0.0014498212, 0.0056918794, 0.0076401588, 0.0062746815, 0.0019945465, -0.0034715883, -0.0077617844, -0.008886316, -0.0061356276, -0.00046472187, 0.005821733, 0.010003, 0.010099806, 0.005784654, -0.0013816032, -0.008503329, -0.012516406, -0.011480015, -0.005471238, 0.0033339118, 0.011446158, 0.015444883, 0.013390021, 0.005700575, -0.0049005477, -0.014369247, -0.0189034, -0.01645667, -0.007612231, 0.0045681405, 0.015669696, 0.021622729, 0.020303149, 0.012427704, 0.0013681635, -0.008046747, -0.011316472, -0.0059608035, 0.007492599, 0.025606597, 0.043158896, 0.05489593, 0.057267357, 0.04954323, 0.0339579, 0.014859203, -0.0027777697, -0.014923286, -0.01962613, -0.017351452, -0.01050218, -0.0023627565, 0.00409351, 0.0071195588, 0.0065405685, 0.0035038434, -0.00020131929, -0.0029291874, -0.0037752893, -0.0027807998, -0.0007404866, 0.001259906, 0.002340733, 0.0021670514, 0.0010036464, -0.000484297, -0.001577992, -0.0018233192, -0.0012003316, -7.9161226e-5, 0.0009833976, 0.0015120289, 0.0013125967, 0.00053432165, -0.00042948566, -0.0011336296, -0.0012843572, -0.00085414824, -7.544308e-5, 0.00068377797, 0.0010894077, 0.000987618, 0.00045701474, -0.0002400816, -0.0007875102, -0.00095503236, -0.00069517206, -0.00014932243, 0.00042471665, 0.0007751143, 0.00076339196, 0.0004191388, -8.611035e-5, -0.0005211744, -0.0007017889, -0.00056585605, -0.0001940848, 0.00023648125, 0.00053425285, 0.00057913625, 0.00036831357, 1.1157841e-5, -0.00032753358, -0.0005014577, -0.00044666746, -0.00020234889, 0.00011193627, 0.0003550987, 0.00042601378, 0.0003060336, 6.012314e-5, -0.00019596171, -0.0003506052, -0.00034337337, -0.0001887026, 3.660767e-5, 0.00023000682, 0.00031027826, 0.00025018095, 8.52736e-5, -0.00010666519, -0.00024125181, -0.00026492716, -0.00017494986, -1.762175e-5, 0.00013566978, 0.00022005328, 0.00020480735, 0.00010335975, -3.5217992e-5, -0.0001499907, -0.00019440462, -0.0001550942, -5.4727818e-5, 6.0011575e-5, 0.00013996844, 0.0001541783, 0.00010153192, 9.010924e-6, -8.1631166e-5, -0.00013231346, -0.0001243919, -6.495872e-5, 1.7597413e-5, 8.708137e-5, 0.00011476113, 9.129607e-5, 2.907464e-5, -4.3650856e-5, -9.597087e-5, -0.000106708205, -7.343446e-5, -1.184133e-5, 5.0876202e-5, 8.871259e-5, 8.676136e-5, 4.7897745e-5, -1.0197982e-5, -6.199154e-5, -8.627873e-5, -7.37443e-5, -3.167754e-5, 2.1078624e-5, 6.119677e-5, 7.2389026e-5, 5.0607458e-5, 6.864604e-6, -3.9646548e-5, -6.842858e-5, -6.824251e-5, -3.978744e-5, 3.2104726e-6, 4.2324944e-5, 6.0574323e-5, 5.1719282e-5, 2.029608e-5, -1.8554507e-5, -4.8476606e-5, -5.658985e-5, -4.135247e-5, -1.0070449e-5, 2.2095483e-5, 4.1857813e-5, 4.06639e-5, 2.1007785e-5, -8.249539e-6, -3.3065007e-5, -4.3752458e-5, -3.567993e-5, -1.4253252e-5, 1.1437689e-5, 2.9299757e-5, 3.3159653e-5, 2.1355343e-5, 8.4284693e-7, -2.0172942e-5, -3.18591e-5, -3.103196e-5, -1.7865736e-5, 1.975568e-7, 1.641261e-5, 2.3020024e-5, 1.9065454e-5, 5.6255376e-6, -9.985757e-6, -2.2507287e-5, -2.5681627e-5, -1.9973668e-5, -6.6698994e-6, 7.220224e-6, 1.7601938e-5, 1.9002007e-5, 1.2648641e-5, -2.9773219e-7, -1.2979988e-5, -2.2020657e-5, -2.2237422e-5, -1.5422585e-5, -2.6978087e-6, 8.87175e-6, 1.639867e-5, 1.49447005e-5, 7.1557006e-6, -5.548296e-6, -1.5670841e-5, -2.0896783e-5, -1.6878243e-5, -7.579569e-6, 5.026036e-6, 1.2991135e-5, 1.495867e-5, 7.5935386e-6, -3.4023542e-6, -1.5491503e-5, -2.0532054e-5, -1.8661493e-5, -7.939758e-6, 4.0651357e-6, 1.459138e-5, 1.5850645e-5, 1.0051299e-5, -3.2221433e-6, -1.4833175e-5, -2.2559427e-5, -1.9565457e-5, -1.0504853e-5, 3.927038e-6, 1.3658428e-5, 1.7935177e-5, 1.1241762e-5, 5.780021e-7, -1.3017474e-5, -1.938385e-5, -2.0004343e-5, -1.068064e-5, -4.2002648e-7, 1.0433956e-5, 1.2302771e-5, 9.434298e-6, -1.4107209e-6, -9.790179e-6, -1.7029117e-5, -1.4452729e-5, -9.239651e-6, 1.774868e-6, 7.2440744e-6, 1.1048047e-5, 5.121343e-6, -6.761402e-7, -1.05921645e-5, -1.2698816e-5, -1.3980549e-5, -6.0824677e-6, -1.3117678e-6, 7.0026144e-6, 5.9523154e-6, 6.1448663e-6, -2.5043264e-6, -5.074311e-6, -1.2071803e-5, -8.43429e-6, -9.301119e-6, -5.653128e-7, -1.212582e-6, 5.5504497e-6, -4.7823414e-7, 3.0500814e-6, -6.333925e-6, -9.676442e-7, -9.809155e-6, 8.289935e-7, -8.8708475e-6, 6.769784e-6, -1.0422431e-5, 1.4101388e-5, -2.8278679e-5, 8.1082806e-5));



On Wed, 21 Mar, 2018 at 12:57 AM, Yann Orlarey <orla...@grame.fr> wrote:
Right. Internally the faust compiler uses doubles anyway and these doubles are parsed using a very standard atof function. It would be useful if you could send me a sample code because it's really weird.....

Yann

-------------------------

Yann Orlarey
Directeur scientifique
www.grame.fr



2018-03-20 17:29 GMT-07:00 Julius Smith <j...@ccrma.stanford.edu>:
I would not expect that big of a difference in the amount of time to
process 64-bit versus 32-bit input data.  Something else may be afoot
here. - Julius

On Tue, Mar 20, 2018 at 3:42 PM, CrocoDuck o'Ducks
<crocoduck.odu...@gmail.com> wrote:
> Hi guys,
>
> I think I probably found what was wrong.
>
> So, I used the -t 0 option and it worked, but it took a really huge time to
> compile (almost a hour I think).
>
> I did some tests and I don't see any problem with fi.fir(), it supports very
> large lists.
>
>
> The fact that your times are as so much smaller than mine made me think. I > upgraded to 2.5.23 (that's the latest on Arch repos), but same issue. I was > about to try to build the last version but then I realised that my Julia > code was dumping Float64 literals into the Faust source code. However, I got > the impression that Faust wants C++ float literals, which should be kinda > equivalent to Julia's Float32, while C++ double should be sort of like > Julia's Float64. What suggested that to me is that I could see the numbers
> notated with f in few (not related) compiler errors.
>
> So, I modified my Julia code to convert the FIR taps to Float32 before > writing them down in the .dsp files. Now it compiles quite fast, a bunch of
> seconds.
>
> So, I guess that I was dropping numbers with too high precision into the > Faust source code, and then the compiler was spending a ton of time to
> convert them. Is it plausible?
>
>
> On Tue, 20 Mar, 2018 at 7:28 PM, Julius Smith <j...@ccrma.stanford.edu>
> wrote:
>
> I think [complexity] info should be added in the library documentation.
>
> +1 - Julius On Tue, Mar 20, 2018 at 5:26 AM, Stéphane Letz <l...@grame.fr>
> wrote:
>
> ba.take ==> complexity O(n^2) I think that this kind of info should be added
> in the library documentation. And also as a general rule in the «
> Contributing » section of
> https://github.com/grame-cncm/faustlibraries/blob/master/README.md, to push
> library writers to document this kind of things. Stéphane
>
> Le 20 mars 2018 à 04:32, Yann Orlarey <orla...@grame.fr> a écrit : HI, I did > some tests and I don't see any problem with fi.fir(), it supports very large
> lists. Here is the test file I used: // ------- fir500.dsp ------
> import("stdfaust.lib"); process = fi.fir(( 1,2,3,4,5,6,7,8,9,10, ...48 > copies... 1,2,3,4,5,6,7,8,9,10)); //--------------------------------- time > faust fir500.dsp -o /dev/null real 0m0.446s user 0m0.375s sys 0m0.030s If > instead, I use the second code you mentioned // ------- fur500.dsp ------ > import("stdfaust.lib"); fur(coeffs) = _ <: par(i, 500, @(i) * ba.take(i + 1, > coeffs)) :> _; process = fur(( 1,2,3,4,5,6,7,8,9,10, ...48 copies... > 1,2,3,4,5,6,7,8,9,10)); //--------------------------------- The compilation > will take a very long time because ba.take() is really not the way to go in > this case (complexity O(n^2)). Here are the results I get: time faust > fur500.dsp -o /dev/null real 1m18.270s user 1m16.947s sys 0m0.900s The > difference is enormous (x170)! If in your case you don't see any difference > of performances between the two, then there is a problem with the fi.fir > implementation you are using. Can you try with the latest version of Faust > (version 2.5.25)? Cheers Yann 2018-03-19 15:01 GMT-07:00 Oliver Larkin via > Faudiostream-users <faudiostream-users@lists.sourceforge.net>: depending on > what faust version you are using, a foreign function might help. I had to do > this to do a convolution in my tambura synthesiser for exactly the same > reason https://github.com/olilarkin/Tambura/blob/master/bridgeIR.dsp > https://github.com/olilarkin/Tambura/blob/master/bridgeIR.h it would be
> great if faust’s FIR didn’t bork like this oli
>
> On 19 Mar 2018, at 21:32, CrocoDuck o'Ducks <crocoduck.odu...@gmail.com>
> wrote: Hi again! Thank you for all your tips!
>
> I suggest placing all of your coefficients into a large parallel signal > bank: coeffs = (b0, b1, b2, ..., b511); // FIR filter coefficients for
> length 512 and then use par() etc.
>
> I tried both of these: process = fi.fir(coeffs); process = _ <: par(i, 512, > @(i) * ba.take(i + 1, coeffs)) :> _; Which, unfortunately, both suffer from
> the same problem. Did I got the suggestion right?
>
> You can set unlimited time by adding -t 0 to your compile command.
>
> I am currently trying this.
>
> Interesting ! Do you have some code to show? Is is part of an official JULIA
> ==> Faust project?
>
> No, it isn't an official project. I just design some filters using DSP.jl > then I try to generate Faust code that implements them. I just open a file > for writing and I fill it with Faust code. I guess I can cook a few minimal > examples to share, I cannot share my code right away as it is sort of > confidential. On Mon, 19 Mar, 2018 at 8:20 AM, Stéphane Letz <l...@grame.fr>
> wrote:
>
> Le 18 mars 2018 à 23:06, CrocoDuck o'Ducks <crocoduck.odu...@gmail.com > a > écrit : Hi there! I currently have some Julia code producing 512 taps for an > FIR filter. Interesting ! Do you have some code to show? Is is part of an
> official JULIA ==> Faust project? Stéphane
>
> ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most engaging
> tech sites, Slashdot.org!
> http://sdm.link/slashdot_______________________________________________ > Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
> ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most engaging
> tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________ Faudiostream-users mailing
> list Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
> ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most engaging
> tech sites, Slashdot.org!
> http://sdm.link/slashdot_______________________________________________ > Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
> ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most engaging
> tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________ Faudiostream-users mailing
> list Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
> --
> Julius O. Smith III <j...@ccrma.stanford.edu> Professor of Music and, by
> courtesy, Electrical Engineering CCRMA, Stanford University
> http://ccrma.stanford.edu/~jos/
> ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most engaging
> tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________ Faudiostream-users mailing
> list Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Faudiostream-users mailing list
> Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>



--
Julius O. Smith III <j...@ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to