Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ein bisschen InlineAssembler hilfe :) (https://www.delphipraxis.net/143528-ein-bisschen-inlineassembler-hilfe.html)

Spiderpig_GER_15 17. Nov 2009 18:31


Ein bisschen InlineAssembler hilfe :)
 
Hallo DP,

ich bin grade dabei folgendes:
Delphi-Quellcode:
I: integer;
n: double;
Zahl: double;
  while Zahl < i do
  begin
    Zahl:= Zahl +1/n;
    n:= n+1;
  end;
auf Zeit zu trimmen...
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

Zacherl 17. Nov 2009 18:36

Re: Ein bisschen InlineAssembler hilfe :)
 
Ich denke mal bei solch trivialen Operationen bringt es keinen Geschwindigkeitsvorteil, wenn man sie in Assembler umsetzt.

Spiderpig_GER_15 17. Nov 2009 18:38

Re: Ein bisschen InlineAssembler hilfe :)
 
garkein ganz kleines bisschen?

immerhin wird diese schleife über: 40427833547 mal ausgeführt...

Neutral General 17. Nov 2009 18:41

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 ;)

Spiderpig_GER_15 17. Nov 2009 18:48

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)?

mleyen 17. Nov 2009 19:25

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:

Medium 17. Nov 2009 19:47

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).

uoeb7gp 17. Nov 2009 19:50

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.

Medium 17. Nov 2009 19:54

Re: Ein bisschen InlineAssembler hilfe :)
 
Auch SSE ist nur bei Parallelisierung brauchbar (Bei Google suchenSIMD). Was soll der Code eigentlich bringen? Warum will man eine bereits bekannte Zahl so annähern? (Kettenbruchdarstellung wäre jetzt das einzige was mir so einfiele, die wird mit Floats bei sehr langen Ketten dann aber halt auch eher schwammig.)

uoeb7gp 17. Nov 2009 20:01

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 10:13 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz