On 12/03/2014 08:01 PM, Petru Ratiu wrote: > 2014-12-03 19:55 GMT+02:00 Dan Borlovan <[email protected]>: > >>> M-a batut la un moment dat gandul sa incerc si eu o solutie (cu perl, of >>> course :P), dar n-am avut timp. IMO, cel mai decent e sa mentii o lista >> de >>> nume de fisiere aflate la care sa atasezi un flag daca le-ai citit. (un >>> hash de forma nume => flag, unde flag incepe prin a fi 0, de ex). >>> Initializezi aceasta lista cu numele fisierului initial si 0. >>> >>> Dupa aia, atata timp cat ai fisiere cu flagul 0 in lista, alegi unul, il >>> setezi pe 1 si citesti din el nume de fisiere. Daca nu exista in lista, >> le >> >> Te complici >> >> Dai de un fisier >> - daca e in hash, e citit, move on >> - daca nu e, il adaugi in hash (doar cheie, nu ai nevoie de valoare) si >> apelezi recursiv functia cu noul fisier >> >> Doar daca esti pe nu stiu ce microcontroller fara memorie si nu-ti permiti >> recursivitate, atunci te joci de-a lista cu flag-uri >> > > Si-asa se poate, am presupus ca fisierele sunt destul de mari (ca ajungi sa > le tii deschise pe toate din el si risti sa ramai fara filedescriptori). > Also daca tii hashul ala intr-o forma care sa poata fi editata de procese > separate, poti porni mai multi scarmanatori de fisiere in paralel.
Multumesc tuturor pentru sugestii! o sa vad ce pot face (o sa reincerc treaba in python - probabil cu sets) .. Pentru clarificare problemei: la CERN se foloseste un toolkit numit ROOT ce are un interpretor C++ numit cint.. O mare parte din analize se fac scriind macro-uri (scripturi pentru c++), iar un macro poate chema mai multe macrouri care pot chema alte macrouri in care se instanteaza obiecte samd.. problema me e la o analiza imi da niste chestii ciudate la un obiect anume (fara sa crape cumva ca altfel l-as vedea in trace). scopul e sa caut in tot chainul de macrouri unde anume se instanteaza acel obiect ca sa pot sa inspectez bucata de cod respectiv. Multumesc! Adrian
_______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
