Le 22/03/2017 à 16:41, Christof Ressi a écrit : > you're right, it's indeed slower, I just tested it. implementing the array > traversal in pd leads to many redundant operations, which slow the thing > down. but it should be quite easy to implement it as external. if you haven't > written externals yet, see it as a challenge :-). > > but the thing I'm rather wondering is: > > does it *really* have to be faster than 40ms? what are you trying to do? do > you *need* the output in 0 logical time? depending on the situation you might > want to spread the computation across multiple audio blocks or if you don't > care about determinism, have the file in another instance of pd and > communicate with netsend/netreceive (one instance makes a request and the > other instance sends the result once the search is finished).
Yes, i need 0 logical time, because i want to draw a graphical map in Gem and save it as picture. There is a lot of element to draw. ++ Jack > > Christof > >> Gesendet: Mittwoch, 22. März 2017 um 12:54 Uhr >> Von: Jack <j...@rybn.org> >> An: "Christof Ressi" <christof.re...@gmx.at> >> Cc: pd-list@lists.iem.at >> Betreff: Re: Aw: Re: [PD] Fastest way to find lines in text file >> >> Le 21/03/2017 à 22:16, Christof Ressi a écrit : >>>> I need to find every lines of a textfile containing a word. >>> >>> that sentence is quite ambiguous, hehe. >> >> We can talk about interger. >> >>> so we're talking about integers. I'd load the textfile with [text] and then >>> use [text sequence] to spit out all the lines and copy them to a table with >>> 2 * 2.539.592 elements. looping through the table and finding your words >>> should be straightforward and much faster. >> >> The problem with this solution (if i am right), you need to store the >> second element somewhere to return the line (e.g. 345594 577427) when >> the first match to your interger (i just need to test on the first element). >> I test it with 345594 (5 lines match to this interger) and [realtime] >> return 200 ms to execute it (with msgfile, it is 40 ms). Even, if you >> don't store the second interger to return the whole line, you need 70 ms >> (with [array get], [drip] from zexy and [route] or [select]). >> Maybe i miss something ? >> ++ >> >> Jack >> >> >> >>> >>> Christof >>> >>>> Gesendet: Dienstag, 21. März 2017 um 19:20 Uhr >>>> Von: Jack <j...@rybn.org> >>>> An: pd-list@lists.iem.at >>>> Betreff: Re: [PD] Fastest way to find lines in text file >>>> >>>> The textfile has only two "string" by lines. >>>> Here, 20 lines of the textfile : >>>> >>>> 345594 577427 >>>> 345594 567267 >>>> 345594 528911 >>>> 345594 534435 >>>> 345594 523087 >>>> 345595 374384 >>>> 345595 377303 >>>> 345595 380544 >>>> 345595 379911 >>>> 345595 557020 >>>> 345595 552396 >>>> 345595 562487 >>>> 345595 460842 >>>> 345595 428449 >>>> 345595 424095 >>>> 345596 447676 >>>> 345598 579883 >>>> 345598 379495 >>>> 345598 379039 >>>> 345598 380328 >>>> ++ >>>> >>>> Jack >>>> >>>> >>>> Le 21/03/2017 à 19:14, Jack a écrit : >>>>> Hello, >>>>> >>>>> I need to find every lines of a textfile containing a word. >>>>> The textfile has 2.539.592 lines. >>>>> Now, i am using [msgfile] from zexy because i can find a line, skip a >>>>> line and find again ... until the end of the textfile. >>>>> But, i am wondering if there is an other object (in an other library) >>>>> faster, specialized in this work ? >>>>> Thanx. >>>>> ++ >>>>> >>>>> Jack >>>>> >>>>> >>>>> _______________________________________________ >>>>> Pd-list@lists.iem.at mailing list >>>>> UNSUBSCRIBE and account-management -> >>>>> https://lists.puredata.info/listinfo/pd-list >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Pd-list@lists.iem.at mailing list >>>> UNSUBSCRIBE and account-management -> >>>> https://lists.puredata.info/listinfo/pd-list >>>> >> >> _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list