[PD] writing to cyclone/coll takes a long time

Christof Ressi christof.ressi at gmx.at
Thu Dec 5 13:15:45 CET 2019


[text] has some performance problems for appending/inserting and even indexing data. if your data only consists of numbers, you could store everything inside a single flat [array]. another possibility is to use data structure arrays where each element holds a "text" field.

> Gesendet: Donnerstag, 05. Dezember 2019 um 12:59 Uhr
> Von: "Jakob Laue" <jakkesprinter at web.de>
> An: oliver <oliver at klingt.org>
> Cc: Pd-List <pd-list at lists.iem.at>
> Betreff: Re: [PD] writing to cyclone/coll takes a long time
>
> Hey,
> thanks for your replies! 
> Oliver, your right, the text object is actually pretty cool, I didn't know about that one. I tested it out a little bit. But writing 60000 rows with 10 columns into it takes round about 2 minutes on my machine, so that's obviously too long :P The possibility to check the completely generated matrix is actually more of a comfort thing. We could also use [print] to check if our generated probabilities are correct, but seeing everything together is handy. Anyhow, opening the gui of [coll] or [text] is not our issue. Our issue is the time that it takes to write 60000 rows into these objects. 
> I was wondering, if one could do the process of writing into the matrix on audio~ level. Don't know if that is possible and if that makes any sense though.. I am not that experienced with pd..
> Another idea for increasing speed was to use various [zl nth] objects from cyclone. One object for each column. I have not tested that yet.
> Thanks anyways for the hint on iemmatrix, I did not know about that. And with gem, I have not worked yet. I guess, I will take a look at iemmatrix first.
> 
> Thank you, Jakob
>  
>  
>  
> 
> Gesendet: Samstag, 30. November 2019 um 15:13 Uhr
> Von: "oliver" <oliver at klingt.org>
> An: Pd-List <pd-list at lists.iem.at>
> Betreff: Re: [PD] writing to cyclone/coll takes a long time
> Jakob Laue wrote:
> > Dear list,
> > For a university project we are building a melody generator based on markov chains. This includes generating a big matrix of probabilities for playing a certain note. The number of rows in the matrix depends on the markov order and the pitch range that our patch works with. We have a pitch range of 9, hence markov order 3 means writing 9^3 rows = 729.
> > We want to work with the fifth order which means writing 9^5 = 59049 rows into the matrix. We use the coll object from the cyclone library to generate our matrix because it has the handy gui for looking at your matrix after you generated it.
> 
> for what purpose ?
> 
> how do you want to "check" 60000 numbers ?
> 
> besides that:
> 
> 1.) there's the vanilla [text] objects that IMHO can handle this sort of
> things way better. the advantage to [coll] is that new entries into the
> [text] buffer are updated immediately (i.e. you can see the changes when
> the [text] window is open as opposed to [coll] where you have to close
> and reopen the content window)
> 
> 2.) even with the [text] objects, opening the content window with a lot
> of numbers like your 60000 WILL take a long time anyway, probably even
> crash PD. that's a memory thing that very likely applies to the [coll]
> object as well. so if you really need to check a specific part of your
> big matrix, you should extract a sniplet from it to another smaller
> buffer to do so. the help files will help you ;-)
> 
> 3.) maybe you should use real matrix optimized objects for your task,
> like the "IEMMATRIX" library or probably even GEM buffer objects
> 
> best
> 
> oliver
> 
> 
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>





More information about the Pd-list mailing list