Problem je sto ne bih da tim punjenjem usporavam taskove vise negos to je neophodno, problem 2 je sto ne daju svi taskovi rezultat (ok je da result[index] bude null) i sto raskovi traju arzliciti period vremena sto znaci da order(index) nije isti na ulazu u paralel i na izlazu iz taskova. Kad se ceo proces zavrsi, poslednji index "zatvara" strukturu i ta struktura postaje read-only (nema menjanja ni samih elemeanta ni strukture) i sluzi za storage i dalje crunchovanje u drugom multithreaded ciklusu koji je izdvojen.
Koliko vidim nijedna struktura u System.Collection.* ne radi to sto ja hocu, ponajmanje u Concurrency podspace-u jer algoritam nije producer/consumer vrste. Ako uzmem SortedDictionary<K=typeof(index), T> onda imam problem sto su svi upiti u dictionary ukljucujuci i njegov IEnumerable<KeyValuePair<K,T>> u rangu O(log n) sto ce mi ubiti pperformanse narednog ciklusa. U osnovi najidealnije resenje bi mi bio auto-grow array sa sync podrskom. postoji li uopste tako nesto ili mroam da pisem?
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić