[Cs-dev] cs5 v cs6 performance
Date | 2013-08-06 12:38 |
From | john ffitch |
Subject | [Cs-dev] cs5 v cs6 performance |
Hum...for Steven's example CS5 obeys 17,290,604,661 instructions CS6 23,200,160,235 Significant differences by function kperf: 1,684,470,746 2,773,288,474 mulak: 1,120,507,668 1,974,227,796 moogladder_process: 1,405,081,044 1,662,975,666 useropcd2: 796,688,808 1,214,510,148 vco2: 702,540,842 764,791,268 Many others are identical kperf seems the problem. I looked at moogladder and Ithink the code could be improved anyway. Will check vco2 later. Next stage is the profile kperf ==John ffitch ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-06 13:02 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
What I don't understand is why usropcd2() is actually taking so much computation, as it does not do anything (there is no perf-time code in the UDO in the example). On 6 Aug 2013, at 12:38, john ffitch wrote: > Hum...for Steven's example > > CS5 obeys 17,290,604,661 instructions > CS6 23,200,160,235 > > Significant differences by function > > kperf: 1,684,470,746 2,773,288,474 > mulak: 1,120,507,668 1,974,227,796 > moogladder_process: 1,405,081,044 1,662,975,666 > useropcd2: 796,688,808 1,214,510,148 > vco2: 702,540,842 764,791,268 > > Many others are identical > > kperf seems the problem. I looked at moogladder and Ithink the code > could be improved anyway. Will check vco2 later. > > Next stage is the profile kperf > ==John ffitch > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-06 13:06 |
From | Michael Gogins |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
Attachments | None None |
I don't have numbers here for Csound 5 but I did the following tests just now on my Asus gaming notebook with Windows 8 and core i7 CPU: These were done in CsoundQt and from the Windows shell. I ran trapped-high-resolution.csd with ksmps=1 and ksmps=100. There was no particular difference in time between the Windows shell and CsoundQt. There was no particular difference in time between using --sample-accurate or not. The only significant difference in time: ksmps=1 is about 65 seconds and kmsps=100 is about 13 seconds. This is a compute-intensive piece, by design.
I know from repeatedly running trapped.csd with ksmps=100 --expression-opt in Csound 5.19 and in Csound 6 that Csound 6 is either just as fast as Csound 5 for that piece, or even a little bit faster than Csound 5. A few years ago it took 14 seconds, then it was 8, then it was 4 or 5, and now it is 2.1 or so with Csound 5 on my present computer and 1.8 seconds (!) with Csound 6. For this piece at least, Csound 6 is significantly faster than Csound 5.
What compiler are you using? I am using mingw's GCC 4.8.1, 32 bit architecture, Posix threads, dwarf2 exception handling, compiled with -O -g -march=nocona. I did experiments to find that -march=nocona gave the best performance.
Regards, Mike Speed increases that I see in my environment appear to be due, to some large extent, to improvements in the GNU compiler. =========================== Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, Aug 6, 2013 at 7:38 AM, john ffitch <jpff@codemist.co.uk> wrote: Hum...for Steven's example |
Date | 2013-08-06 13:11 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
I think these counts are cummulative -- it and all it calls. I ave not yet found any terminal function that does much. btw 6.7 (US) billion instructions are doing exp and tanh I a trying to get a detailed profile, but it is slow to emmulate 20,000,000,000 instructions. Would like a simpler example! > What I don't understand is why usropcd2() is actually taking so much > computation, as it > does not do anything (there is no perf-time code in the UDO in the > example). > > On 6 Aug 2013, at 12:38, john ffitch wrote: > >> Hum...for Steven's example >> >> CS5 obeys 17,290,604,661 instructions >> CS6 23,200,160,235 >> >> Significant differences by function >> >> kperf: 1,684,470,746 2,773,288,474 >> mulak: 1,120,507,668 1,974,227,796 >> moogladder_process: 1,405,081,044 1,662,975,666 >> useropcd2: 796,688,808 1,214,510,148 >> vco2: 702,540,842 764,791,268 >> >> Many others are identical >> >> kperf seems the problem. I looked at moogladder and Ithink the code >> could be improved anyway. Will check vco2 later. >> >> Next stage is the profile kperf >> ==John ffitch >> >> ------------------------------------------------------------------------------ >> Get your SQL database under version control now! >> Version control is standard for application code, but databases havent >> caught up. So what steps can you take to put your SQL databases under >> version control? Why should you start doing it? Read more to find out. >> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >> _______________________________________________ >> Csound-devel mailing list >> Csound-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/csound-devel > > Dr Victor Lazzarini > Senior Lecturer > Dept. of Music > NUI Maynooth Ireland > tel.: +353 1 708 3545 > Victor dot Lazzarini AT nuim dot ie > > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel > > > ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-06 13:19 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
This is with Debian7 on a x86_64 system using gcc 4.7.2 Another data point kngoto: 378,575,856 408,782,616 I would expect it to be a simple function ==John I think I need KCallgrind to get more information, and I do not have any kde code on these machines. > I don't have numbers here for Csound 5 but I did the following tests just > now on my Asus gaming notebook with Windows 8 and core i7 CPU: > > These were done in CsoundQt and from the Windows shell. I ran > trapped-high-resolution.csd with ksmps=1 and ksmps=100. There was no > particular difference in time between the Windows shell and CsoundQt. > There > was no particular difference in time between using --sample-accurate or > not. The only significant difference in time: ksmps=1 is about 65 seconds > and kmsps=100 is about 13 seconds. This is a compute-intensive piece, by > design. > > I know from repeatedly running trapped.csd with ksmps=100 --expression-opt > in Csound 5.19 and in Csound 6 that Csound 6 is either just as fast as > Csound 5 for that piece, or even a little bit faster than Csound 5. A few > years ago it took 14 seconds, then it was 8, then it was 4 or 5, and now > it > is 2.1 or so with Csound 5 on my present computer and 1.8 seconds (!) > with > Csound 6. For this piece at least, Csound 6 is significantly faster than > Csound 5. > > What compiler are you using? I am using mingw's GCC 4.8.1, 32 bit > architecture, Posix threads, dwarf2 exception handling, compiled with -O > -g > -march=nocona. I did experiments to find that -march=nocona gave the best > performance. > > Regards, > Mike > > Speed increases that I see in my environment appear to be due, to some > large extent, to improvements in the GNU compiler. > > > =========================== > Michael Gogins > Irreducible Productions > http://michaelgogins.tumblr.com > Michael dot Gogins at gmail dot com > > > On Tue, Aug 6, 2013 at 7:38 AM, john ffitch |
Date | 2013-08-06 17:16 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
My problem with this is that usropcd2() should never have been called in the first place for this example. On 6 Aug 2013, at 13:11, jpff@cs.bath.ac.uk wrote: > I think these counts are cummulative -- it and all it calls. I ave not > yet found any terminal function that does much. > > btw 6.7 (US) billion instructions are doing exp and tanh > > I a trying to get a detailed profile, but it is slow to emmulate > 20,000,000,000 instructions. > > Would like a simpler example! > > >> What I don't understand is why usropcd2() is actually taking so much >> computation, as it >> does not do anything (there is no perf-time code in the UDO in the >> example). >> >> On 6 Aug 2013, at 12:38, john ffitch wrote: >> >>> Hum...for Steven's example >>> >>> CS5 obeys 17,290,604,661 instructions >>> CS6 23,200,160,235 >>> >>> Significant differences by function >>> >>> kperf: 1,684,470,746 2,773,288,474 >>> mulak: 1,120,507,668 1,974,227,796 >>> moogladder_process: 1,405,081,044 1,662,975,666 >>> useropcd2: 796,688,808 1,214,510,148 >>> vco2: 702,540,842 764,791,268 >>> >>> Many others are identical >>> >>> kperf seems the problem. I looked at moogladder and Ithink the code >>> could be improved anyway. Will check vco2 later. >>> >>> Next stage is the profile kperf >>> ==John ffitch >>> >>> ------------------------------------------------------------------------------ >>> Get your SQL database under version control now! >>> Version control is standard for application code, but databases havent >>> caught up. So what steps can you take to put your SQL databases under >>> version control? Why should you start doing it? Read more to find out. >>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Csound-devel mailing list >>> Csound-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/csound-devel >> >> Dr Victor Lazzarini >> Senior Lecturer >> Dept. of Music >> NUI Maynooth Ireland >> tel.: +353 1 708 3545 >> Victor dot Lazzarini AT nuim dot ie >> >> >> >> >> ------------------------------------------------------------------------------ >> Get your SQL database under version control now! >> Version control is standard for application code, but databases havent >> caught up. So what steps can you take to put your SQL databases under >> version control? Why should you start doing it? Read more to find out. >> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >> _______________________________________________ >> Csound-devel mailing list >> Csound-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/csound-devel >> >> >> > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-06 18:29 |
From | Steven Yi |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
Hi Victor, Are you saying this because the UDO that's in the CSD should only be performed at i-time? Perhaps there's a bug in setting the UDO's performance rate then. Also for all, I noticed that the CSD example has some bad coding where there is an i-time if-then but k-rate code inside. That should be equally bad on CS5 and CS6 I imagine though, but worth noting. Thanks! steven On Tue, Aug 6, 2013 at 6:16 PM, Victor Lazzarini |
Date | 2013-08-06 18:40 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
yes, it does not contain any k-rate code, so it should be i-time only. I am thinking here whether the if ... then are selecting perf goto codes rather than i-time ones. Victor On 6 Aug 2013, at 18:29, Steven Yi wrote: > Hi Victor, > > Are you saying this because the UDO that's in the CSD should only be > performed at i-time? Perhaps there's a bug in setting the UDO's > performance rate then. > > Also for all, I noticed that the CSD example has some bad coding where > there is an i-time if-then but k-rate code inside. That should be > equally bad on CS5 and CS6 I imagine though, but worth noting. > > Thanks! > steven > > On Tue, Aug 6, 2013 at 6:16 PM, Victor Lazzarini > |
Date | 2013-08-06 18:57 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
Running it in gdb shows kngoto being used, which is not right because the conditions are all i-time. Is this a parser error? Victor On 6 Aug 2013, at 18:40, Victor Lazzarini wrote: > yes, it does not contain any k-rate code, so it should be i-time only. I am thinking here whether > the if ... then are selecting perf goto codes rather than i-time ones. > > Victor > On 6 Aug 2013, at 18:29, Steven Yi wrote: > >> Hi Victor, >> >> Are you saying this because the UDO that's in the CSD should only be >> performed at i-time? Perhaps there's a bug in setting the UDO's >> performance rate then. >> >> Also for all, I noticed that the CSD example has some bad coding where >> there is an i-time if-then but k-rate code inside. That should be >> equally bad on CS5 and CS6 I imagine though, but worth noting. >> >> Thanks! >> steven >> >> On Tue, Aug 6, 2013 at 6:16 PM, Victor Lazzarini >> |
Date | 2013-08-06 19:26 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] cs5 v cs6 performance |
Replacing the if ... ithen with if ... igoto makes it run faster, as expected. But note that kngoto was also being used on Csound 5, so it's actually a bug with if ... ithen that has been there since then. Csound 5 is still faster with the igoto code in comparison to csound 6. On 6 Aug 2013, at 18:57, Victor Lazzarini wrote: > Running it in gdb shows kngoto being used, which is not right because the conditions are > all i-time. Is this a parser error? > > Victor > On 6 Aug 2013, at 18:40, Victor Lazzarini wrote: > >> yes, it does not contain any k-rate code, so it should be i-time only. I am thinking here whether >> the if ... then are selecting perf goto codes rather than i-time ones. >> >> Victor >> On 6 Aug 2013, at 18:29, Steven Yi wrote: >> >>> Hi Victor, >>> >>> Are you saying this because the UDO that's in the CSD should only be >>> performed at i-time? Perhaps there's a bug in setting the UDO's >>> performance rate then. >>> >>> Also for all, I noticed that the CSD example has some bad coding where >>> there is an i-time if-then but k-rate code inside. That should be >>> equally bad on CS5 and CS6 I imagine though, but worth noting. >>> >>> Thanks! >>> steven >>> >>> On Tue, Aug 6, 2013 at 6:16 PM, Victor Lazzarini >>> |