Dopo aver esaminato il codice del setaccio del numero primo e visto come funziona la struttura concorrente , l'ho trovato estremamente elegante. Tuttavia, è anche estremamente inefficiente e IIRC, equivalente all'operazione O (n^2) di test della divisibilità del numero m per dividendolo per ogni numero inferiore a m. Immagino che potrei invece modificare per utilizzare l'operazione O (n^1.5) di controllo della divisibilità di m dividendolo per ogni numero minore o uguale a sqrt (m). Tuttavia, questo si è rivelato molto più difficile di quanto mi aspettassi.Un set migliore di numero primo simultaneo in uscita
So che questo è più di una questione algoritmi, ma è anche uno estremamente rilevanti per la concorrenza. Come implementare la versione O (n^1.5) dell'algoritmo?
in generale l'implementazione concomitante di un determinato algoritmo non è superlineare. Nella migliore delle ipotesi, accelerano l'algoritmo in modo proporzionale al numero di lavoratori paralleli. Un'eccezione degna di nota sono gli algoritmi 'find'-like. –