![]() |
Ein bisschen InlineAssembler hilfe :)
Hallo DP,
ich bin grade dabei folgendes:
Delphi-Quellcode:
auf Zeit zu trimmen...
I: integer;
n: double; Zahl: double; while Zahl < i do begin Zahl:= Zahl +1/n; n:= n+1; end; und was geht schneller als etwas ASM? Ist hier jemand willig und in der Lage mir das zu übersetzten, es ist mit hoher dankbarkeit zu rechnen:D Müsste machbar sein, oder? Gruß Spiderpig |
Re: Ein bisschen InlineAssembler hilfe :)
Ich denke mal bei solch trivialen Operationen bringt es keinen Geschwindigkeitsvorteil, wenn man sie in Assembler umsetzt.
|
Re: Ein bisschen InlineAssembler hilfe :)
garkein ganz kleines bisschen?
immerhin wird diese schleife über: 40427833547 mal ausgeführt... |
Re: Ein bisschen InlineAssembler hilfe :)
Hi,
Das ließe sich zwar übersetzen, aber das würde wie schon gesagt eher keinen Geschwindigkeitsvorteil bringen.. eher das Gegenteil ;) |
Re: Ein bisschen InlineAssembler hilfe :)
ok, bin mittlerweile aber trotzdem neugierig geworden wie das aussehen könnte, wenn es jemand weiß, nur zu
dankeschön, Spideprig PS: gibts sonstige Möglichkeiten, dass Programm schneller werden zu lassen (kann man sich mehr Ressourcen klauen?) immerhin sind nur 50% meiner CPU ausgelastet (Quelle Taskmanager)? |
Re: Ein bisschen InlineAssembler hilfe :)
Lass es über die Grafikkarte laufen. (soll schneller gehn :lol: )
Ich weißt zwar nicht wie es geht, aber es würde mich auch mal interessieren. :duck: |
Re: Ein bisschen InlineAssembler hilfe :)
Hmm, du weisst schon, dass du ab irgendwann da präzisionsbedingt nur noch Nullen addierst, oder?
Und auf der GraKa würde DAS hier nix bringen. Zum einen können erst eine Hand voll der neusten überhaupt mit Double-Precision arbeiten, zum anderen sind die nur fix wenn man einProblem sehr gut parallelisieren kann. Das da oben ist mal sowas von sequenziell, da müsste man wenn schon einen parallelisierbaren Ersatz-Algo für aufstellen (falls es den gibt). |
Re: Ein bisschen InlineAssembler hilfe :)
Also, ASM ist nicht gleich ASM.
Für i386 und MMX wirds nicht viel bringen, da der Compiler hier schon gut optimiert. Was steht den zur Verfügung? IA32, SSE, SSE2, SSE3 ??? Multicores ??? 32+||64Bit ??? Wenn für alle CPU's und instructions ASM codiert werden soll, ist das schon ein gewisser Aufwand! Das Ding geht dann schon ab wie eine Rakete. 600% + (Amd64 SSE3) müssten locker drin sein. lg. |
Re: Ein bisschen InlineAssembler hilfe :)
Auch SSE ist nur bei Parallelisierung brauchbar (
![]() |
Re: Ein bisschen InlineAssembler hilfe :)
Naja, vielleicht gehts um einen Bench?
Gewettet wurde ja schon um vieles!! "g" Spiderpig_GER_15 wirds uns hoffentlich verraten! lg. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 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 by Thomas Breitkreuz