Zitat von
negaH:
Toll, das ist in fact ein 8/30 Comb Sieve, so wie es in meinem Posting im Attachment zu finden ist, sehr wahrscheinlich sogar von meinen Source abgekupfert.
Ich hab mir dein Code bis gerade eben noch nicht angeschaut. Sieht ziemlich komplex aus, schade das ich kein Assembler kann.
Zitat von
negaH:
Kannst du mir mathematisch erklären werum im Remark "max 2184 Bytes für 2^32" steht ? bzw. wie sich diese Schranke auf Grund des Verfahrens ergibt ?
Mein Programm sucht nur primzahlen bis 2^32. Da man nur die Primzahlen bis zur Wurzel(2^32) braucht um die restlichen wegzustreichen zu können, wären das 65536. Da ich ein 30er Stempel verwende ->65536/30 = 2184 Bytes nötig um alle Primzahlen bis 65536 (als bits) zu speichern. Dieses Array (PrimeLUT) benutze ich dann für die spätere Berechnung der einzelnen Array-Abschnitte und spare mir dadurch viele unnötige Streichungen.
Zitat von
negaH:
Auf welchem Rechner ermittelt ?
Mein obiges Sieb schafft die 500Mio in 2.7 Sekunden auf einem P4 1.5GHz.
Falls die 2.65 Sekunden auch auf einem P4 1.5GHz ermittelt wurden so wundert mich dies schon, da mein Sieb mit hochoptimierten Assembler Routinen arbeitet die im Grunde wesentlich schneller als reiner PASCAL Source sein sollten.
Mein Rechner ist ein Athlon XP-M@2000MHz. Gemessen wurde mit RealTime-Priority.
mfg
Phantom1