[Clam-devel] Sample by Sample Processing in Network Editor
Xavier Amatriain
xavier at create.ucsb.edu
Thu Dec 21 10:36:51 PST 2006
On Thu, 2006-12-21 at 19:33 +0100, Pau Arumi wrote:
> my first thought is that we really need to integrate this
> development/experiments into subversion.
> why not to have simple proof-of-concept networks and do all
> infrastructure changes in svn.
> the benefits are clear:
> - you provide use cases for pushing development and research
> - we can help much more in your use cases
This would be great. I think that CLAM does need to offer at least a
minimal infrastructure for sample-by-sample processing. There are a few
minor problems though. First, most of the processings I am using are
so specific to this app that it would make no sense to add them to
the repository. So I will have to create
a dummy network with some general-purpose processings (no biggie). Also
this requires modifying the default Network policy to Blocking and using
RtAudio instead of PortAudio so this is something I am not sure you want
to go back to.
If you think it would be interesting as I said adding a couple of
processings and the network is simple but what about the other issue?
Add a few defines here and there?
> 1. redrawing methods depend on timers (since NetEdit4) and it's not
done
> on Do basis. what are the synthoms?
I am profiling with Rational Quantify on Windows and I see the Graphics
thread consuming more time than the processing one. Functions like
PortWire::draw were called on the order of 2x times the Do was called
(12000 vs. 5000 for instance). I am saying "were" because in the latest
profile runs that I have just done I am not seeing this behavior (weird,
I will report on this later but I am thinking that this might not the
issue).
> 2. i think it could be more efficient if we get rid of
> different-port-size matching. but more in a policy way than a TData
> specialiation. but lets analyse first the situation.
> are you compiling in release? all regions related checkings are done
(or
> should) only in debug and they are expensive. apart from checkings
what
> operations of produce() and consume() are expensive? have you done
any
> profiling?
Hey, who do you think you are talking to? I am the master of
profiling ;) So, yes, I am running with full optimizations active and
the problem is not in the debug checkings. Just so you have an idea,
here is one of the most expensive operations:
WritingRegion::Produce
(and inside of it the SreamImpl::RegionHasAdvanced and
PhantomBuffer::Touch)
--
/*********************************
* Xavier Amatriain *
* Associate Director - MATi *
* Research Director - CREATE *
* UCSB, Santa Barbara CA *
* 1-(805)- 893 83 52 *
********************************/
More information about the clam-devel
mailing list