2013.08.31 22:18, Laimis rašė: > O kur kiti 60%? Keliolika sekundžių versus keletas tūkstančių sekundžių > yra _HUGE_ skirtumas ir turėtų aiškiai matytis (tie patys _šimtų_kartų_ > skirtumai), kas stabdo. dar ~30% - dviem eilutėm žemiau, toje pačioje funkcijoje. Vėl matematika. Profilis iš "teisingų" duomenų: Function Name Calls Total Time Self Time* embedd_DWT 1 715.173 s 0.468 s LsbEm 9 708.729 s 0.308 s >findExPoints 3 706.018 s 663.414 s EmbedData_ 1 71.787 s 1.231 s create_ 3 62.201 s 0.196 s encode_qr 676 61.885 s 52.360 s create_masks 1 40.684 s 19.223 s o dabar, su žinomais blogais duomenim po keleto sekundžių darbo ... Function Name Calls Total Time Self Time* embedd_DWT 1 14.615 s 0.089 s dwt2 5 13.474 s 0.308 s wextend 42 12.202 s 0.253 s wextend >getSymIndices 21 11.948 s 11.948 s iš 'getSymIndices': Lines where the most time was spent Line Number Code Calls Total Time % Time 320 I(J) = 2*lx+1-I(J); 1269548 4.172 s 34.9% 322 I(K) = 1-I(K); 1269547 3.596 s 30.1% 324 end 1269547 2.591 s 21.7% 321 K = (I<1); 1269548 0.815 s 6.8% 323 J = (I>lx); 1269547 0.770 s 6.4% > Ši eilutė kaip sykis yra lapack'o/blas'o daržas, todėl galimas daiktas, > kad koks ankstesnės versijos matlab'as keliaudavo su ankstesniuoju > intel'io mkl'u; tai reikštų, kad i3 į optimizavimo traukinį dar nebuvo > įsėdęs ir gali būti, kad naudojamas koks fallback-generic algoritmas/kodas. > > http://software.intel.com/en-us/articles/using-intel-mkl-with-matlab galbūt. Reiks pažiūrėti ką žmonės comp.s-s.matlab rašo. -- ejs