[Cs-dev] Performance Issues with Csound6
Date | 2013-08-05 22:39 |
From | Steven Yi |
Subject | [Cs-dev] Performance Issues with Csound6 |
Hi All, I'm following up with what was on the user's list regarding realtime performance and dropouts. What I've noticed so far is that in some cases, Csound6 has demonstrated better performance, and in others, worse. I have to use reproducible cases so far, one in realtime and one in rendering to disk: 1. In my piece "TimeSphere"[1], using the CSD that is available in the project.zip posted on the site[2], I had much worse rendering times to disk than with Csound5. I had not checked with the released CSD, which I ended up rendering with ksmps=16. With ksmps=1, I had seen something like a 13 minute render with CS5 and a 24 minute render with CS6. 2. In my tied notes example from my article in the Csound Journal[3], running the CSD[4] exhibited dropouts with CS6 while it did not with CS5. I believe I ran both with Core Audio, but would need to double check that. The dropouts occurred with the tied notes section, and so it was easiest to run that with: csound yi_tied_notes_example.csd -+skip_seconds=36 To note, I just tried to render in realtime and did not get breakups this last time. However, rendering to disk I get: CS5 Elapsed time at end of performance: real: 2.346s, CPU: 2.116s CS6 Elapsed time at end of performance: real: 13.516s, CPU: 7.042s Thanks! steven [1] - http://kunstmusik.com/2013/07/27/timesphere/ [2] - http://www.kunstmusik.com/projects/timeSphere.zip [3] - http://www.csounds.com/journal/2005fall/tiedNotes.html [4] - http://www.csounds.com/journal/2005fall/examples/yi_tied_notes_example.csd ------------------------------------------------------------------------------ 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=49501711&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-05 23:56 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
I had a look at your tied note example. It appears that with ksmps=1 the difference in performance is significant, but with ksmps=10 and ksmps=100 the difference is small or nonexistent. The ties are not to blame, setting iskip to 0 does not seem to change the performance. So, in conclusion, yes, there is a penalty, but that is only with very small ksmps, which should be avoided anyway. Victor On 5 Aug 2013, at 22:39, Steven Yi wrote: > Hi All, > > I'm following up with what was on the user's list regarding realtime > performance and dropouts. What I've noticed so far is that in some > cases, Csound6 has demonstrated better performance, and in others, > worse. I have to use reproducible cases so far, one in realtime and > one in rendering to disk: > > 1. In my piece "TimeSphere"[1], using the CSD that is available in the > project.zip posted on the site[2], I had much worse rendering times to > disk than with Csound5. I had not checked with the released CSD, > which I ended up rendering with ksmps=16. With ksmps=1, I had seen > something like a 13 minute render with CS5 and a 24 minute render with > CS6. > > 2. In my tied notes example from my article in the Csound Journal[3], > running the CSD[4] exhibited dropouts with CS6 while it did not with > CS5. I believe I ran both with Core Audio, but would need to double > check that. The dropouts occurred with the tied notes section, and so > it was easiest to run that with: > > csound yi_tied_notes_example.csd -+skip_seconds=36 > > To note, I just tried to render in realtime and did not get breakups > this last time. However, rendering to disk I get: > > > CS5 > Elapsed time at end of performance: real: 2.346s, CPU: 2.116s > > CS6 > Elapsed time at end of performance: real: 13.516s, CPU: 7.042s > > > Thanks! > steven > > > [1] - http://kunstmusik.com/2013/07/27/timesphere/ > [2] - http://www.kunstmusik.com/projects/timeSphere.zip > [3] - http://www.csounds.com/journal/2005fall/tiedNotes.html > [4] - http://www.csounds.com/journal/2005fall/examples/yi_tied_notes_example.csd > > ------------------------------------------------------------------------------ > 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=49501711&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 00:35 |
From | andy fillebrown |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
Attachments | None None |
On Windows using CsoundQt with the Additive Synth example I get overruns at the very beginning that subside after a few seconds but then come back every time I move the "Base Freq." knob or send a different note from my controller. Interestingly, when I play the same note multiple times, the overruns do not occur. The overruns only occur when the base frequency changes. On Mon, Aug 5, 2013 at 5:39 PM, Steven Yi <stevenyi@gmail.com> wrote: Hi All, |
Date | 2013-08-06 00:41 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
Attachments | None None |
On OSX, I don't get any such overruns. Victor On 6 Aug 2013, at 00:35, andy fillebrown wrote:
Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie |
Date | 2013-08-06 09:44 |
From | Steven Yi |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
I don't think we can just say "don't use ksmps=1" and ignore this problem. I use ksmps=1 as part of my composing workflow when rendering to disk to have higher quality renders. The increase in time lead me to not even use Csound 6 to finish my last piece. Also using a-var's for everything does not work either as most filters in Csound don't accept a-rate controls (cutoff, resonance, etc.). If anything, I think we need to determine why it has become orders of magnitude slower at lower ksmps. I think there's a real issue here and that we should try to improve the situation if possible. On Tue, Aug 6, 2013 at 12:56 AM, Victor Lazzarini |
Date | 2013-08-06 10:21 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
While I am not saying to let it go, I think this is might not be easily fixed. I remember John ffitch counting operations and noting that there were more in Csound 6. Victor On 6 Aug 2013, at 09:44, Steven Yi wrote: > I don't think we can just say "don't use ksmps=1" and ignore this > problem. I use ksmps=1 as part of my composing workflow when > rendering to disk to have higher quality renders. The increase in > time lead me to not even use Csound 6 to finish my last piece. Also > using a-var's for everything does not work either as most filters in > Csound don't accept a-rate controls (cutoff, resonance, etc.). > > If anything, I think we need to determine why it has become orders of > magnitude slower at lower ksmps. I think there's a real issue here > and that we should try to improve the situation if possible. > > On Tue, Aug 6, 2013 at 12:56 AM, Victor Lazzarini > |
Date | 2013-08-06 11:00 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
> While I am not saying to let it go, I think this is might not be easily > fixed. I remember John ffitch > counting operations and noting that there were more in Csound 6. > > Victor I could do a comparison between cs5 and cs6 if you were to provide a simple example where there was a significant difference. Instruction counting is not too hard and we cab see if there is a group of slower operations or ig it is spread. I suspect that the --sample-accurate code could be a drag in ksmps=1 There are ways to modify the way it is done that might change performance ==John ------------------------------------------------------------------------------ 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 11:06 |
From | Steven Yi |
Subject | Re: [Cs-dev] Performance Issues with Csound6 |
Hi John and Victor, Thanks for replies. John, the CSD I had linked to at the beginning of this thread is what I used recently for testing: http://www.csounds.com/journal/2005fall/examples/yi_tied_notes_example.csd And I ran it with: csound yi_tied_notes_example.csd -+skip_seconds=36 to jump ahead to the tied notes section that would give audio breakups in realtime. The difference in performance was noticeable to disk as well, and may be easier to use for profiling. I had used XCode's instrument a week ago to look at this problem but did not come to a definitive conclusion on what could be the difference. I think a lot of things are still on the table, including: sample-accurate code, initialization code changes, missing compile-time optimizations in CS6, possibly any changes for UDO init and calling. There may be other things that could be contributing too, and I have no idea if it's a lot of small things or one big thing that could be the difference. Thanks! steven On Tue, Aug 6, 2013 at 12:00 PM, |