Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
jak si ta vlákna představuješ? ;-) Nakonec budeš stejně omezen I/O přístupem do toho výstupního sou…
touchwood 10.08.2015 15:33
touchwood
Šlo by to, pokud by se zapisovaly celé bloky vždy, když vlákno doběhne. Představit si to dovedu. Vy…
Jan Fiala 10.08.2015 15:37
Jan Fiala
neříkám, že by to nešlo, ale i tak si myslím, že byť jeden thread bude "výkonnější" než libovolný HD… nový
touchwood 10.08.2015 15:52
touchwood
Tento algoritmus by při 1024 znakovém řetěczi IMHO vyžral RAM daleko dříve, než by doběhl...:-) nový
MaSo 10.08.2015 16:39
MaSo
Vzhladom na to ze ten disk bude pomlasi jak 1core generujuci tie permutacie, tak nepotrebujes hladat… poslední
MM.. 10.08.2015 17:37
MM..

Šlo by to, pokud by se zapisovaly celé bloky vždy, když vlákno doběhne.

Představit si to dovedu.
Vytvoří se vlákno, které dostane k výpočtu blok. Do paměti si bude ukládat permutace. Po skončení se pak zapíše výsledek do souboru a vlákno dostane další blok.

neříkám, že by to nešlo, ale i tak si myslím, že byť jeden thread bude "výkonnější" než libovolný HDD.

Počítám s průměrnou rychlostí zápisu okolo 50MB/s, což je pří řekněme 1024písmenném řetězci cca 50000 zapsaných permutací za sekundu, což opět znamená, že jeden thread by musel vygenerovat řádově méně; osobně si myslím, že u běžných CPU a použití standardního algoritmu, který je relativně triviální a bez nutnosti použít rozhodovací větvení, viz https://cs.wikibooks.org/wiki/Java/Algoritmy/V%C3% BDpo%C4%8Det_permutrac%C3%AD ), bude největší problém právě I/O.

Ale samozřejmě můžu se mýlit, je to pouze víceméně kvalifikovaný odhad. ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru