AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Sehr schneller Primzahl-Finder
Thema durchsuchen
Ansicht
Themen-Optionen

Sehr schneller Primzahl-Finder

Ein Thema von GTA-Place · begonnen am 28. Nov 2004 · letzter Beitrag vom 28. Apr 2007
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#20

Re: Sehr schneller Primzahl-Finder

  Alt 23. Aug 2005, 20:33
@negaH: Zunächst erstmal finde ich deinen Vorwurf des Kopierens ziemlich peinlich, und deine Ausführungen auch. Da Du bekannte Verfahren einsetzt, könnte man Dir auch den Vorwurf machen. Denn eins ist klar: Du _hast_ abgekupfert. Deine Auslassungen über angeblich 'unqualifizierte' Poster, die sich über deinen peinlichen (einseitigen) Streit über schnelle Algos lustig machen, entsprechen nicht wirklich Deinen Fähigkeiten, oder? Ich meine, sie hat Recht: Sieht wirklich so aus wie Längenvergleich... Deine Behauptung, es gäbe keinen Sourcecode für das 8/30 comb Sieb, kann ich zwar nicht nachvollziehen, aber auch egal. Vielleicht schaust Du mal unter 'Sieve of Atkin'. Im Wiki. Da gibts dann auch den Code. Sieht schon sehr verdächtig nach deinem Code aus. Fragt sich, wer zuerst da war

Im übrigen habe ich an diversen Stellen versucht, den Code von Phantom1 schneller zu machen: Komischerweise klappt das nicht mit den Foatingpoint-Berechnungen. Ich habe mir Einen abgebrochen, aber die Performance bricht immer um ca. 30% ein, wenn man hier was drehen will. Dessenungeachtet wird der Algorithmus von Delphi (bis auf die Berechnungen) fast optimal (was die Anzahl der ASM-Befehle anbelangt) kompiliert, sodass der Delphi-Code mit reinem Assembler vergleichbar ist. Ich hatte das mit anderen Mitstreitern hier in der DP an anderer Stelle mal durchexerziert: Mein normaler Delphi-Code war genauso schnell, wie hochoptimierter Assembler: Aufs Verfahren kommt es eben immernoch primär an.

Dann habe ich die redundanten Berechnungen rausgenommen (k*Primelen, k*Primebits, i*30 etc.). Ergebnis: 30% Performance-EINBRUCH. Vielleicht bin ich ja ein Kaschperl und einfach zu blöd dazu, und Du bekommst es besser hin... Ich habe mir bei dieser Diskussion hier jedenfalls angewöhnt, erst alles zu testen, bevor ich das Maul aufreisse.

Was man imho an Phantom1's Code noch verbessen könnte, sind die Zugriffe auf die Bit-Arrays. Hier wäre ein inkrementierender Pointer besser als die indirekte Offsetaddressierung über ein Array. Ich scheitere an der inneren While-Schleife und dem inc (m,i).
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz