AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 07:47

Parameter dieser Suchanfrage:

Suche in Thema: Ein bisschen InlineAssembler hilfe :)
Suche alle Beiträge, die von "Amateurprofi" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 5 von insges. 5 Treffern
Suche benötigte 0.004s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    Re: Ein bisschen InlineAssembler hilfe :)

     
      by Amateurprofi, 9. Dez 2009
    @Medium:
    Oh, ja, da hast du Recht: Abbruchbedingung wäre für alle Threads die Gesamtsumme. Da bin ich wohl zu kurz gehopst, als ich sage es ginge auch ohne den Wert n zu kennen.
    Jedoch ist es kein Problem, wenn n kein Vielfaches der CPU-Anzahl ist. Man kann ja (und genau das macht auch mein Programm) nachdem alle Threads fertig sind, noch fehlende Glieder dazu addieren bzw. welche subtrahieren.
  • Forum: Programmieren allgemein

    Re: Ein bisschen InlineAssembler hilfe :)

     
      by Amateurprofi, 7. Dez 2009
    @Medium:
    ja, aber es ginge auch ohne das.
    Nimm an du willst auf 4 Threads verteilen.
    Thread 1 rechnet 1/1 + 1/5 + 1/9 ...
    Thread 2 rechnet 1/2 + 1/6 + 1/10 ...
    Thread 3 rechnet 1/3 + 1/7 + 1/11 ...
    Thread 4 rechnet 1/4 + 1/8 + 1/12 ...
    Der erste Thread startet also mit dem Divisor 1 und die folgenden Threads starten mit einem um jeweils 1 höheren Divisor und alle Threads erhöhen den...
  • Forum: Programmieren allgemein

    Re: Ein bisschen InlineAssembler hilfe :)

     
      by Amateurprofi, 7. Dez 2009
    @Medium:

    eigentlich ist das ganz simpel.
    Aus dem Zielwert (Summe der Reihe) errechne ich die Anzahl der Elemente der Reihe, also die Anzahl der Durchläufe.
    n = Trunc(Exp(Zielwert-0.57721566490153286))
    Nehmen wir an ich will in zwei Threads rechnen, dann muß jeder Threat n div 2 Elemente addieren.
    also:
    h:=n div 2
    Erster Threat rechnet 1/1 + 1/2 + ... + 1/h
    Zweiter Thread rechnet 1/(h+1)...
  • Forum: Programmieren allgemein

    Re: Ein bisschen InlineAssembler hilfe :)

     
      by Amateurprofi, 7. Dez 2009
    @helgew

    Innerhalb der Schleife wird folgende Sequenz 16 Mal ausgeführt.
    Es ist im Prinzip exakt die von dir vorgeschlagene Sequenz (die sich ja aus dem Problem fast zwingend ergibt)
    War für mich auch überrraschend, daß das nichts bringt.

    fld st(2) // st0=1
    fdiv st,st(1) // st0=1/Divisor
    faddp st(4),st // Summe=Summe+1/Divisor
    fadd st,st(2) // Divisor=Divisor+1
  • Forum: Programmieren allgemein

    Re: Ein bisschen InlineAssembler hilfe :)

     
      by Amateurprofi, 6. Dez 2009
    Der Threadersteller war mit dem Zeitbedarf des in #1 gezeigten Pascal-Codes unzufrieden, vermutete, daß ein Assembler-Code schneller sein könnte und bat um Hilfe bei der Umsetzung.
    Einige der Kommentare animierten mich, dieses Thema aufzugreifen. Das Resultat findet ihr im Attachment.



    Doch, gerade bei solch trivialen Operationen läßt sich durch einen guten Assembler-Code viel erreichen,...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Amateurprofi&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=143528
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.
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