Français
Assembler Forum

Tempovergleich: Profan / Profan2Cpp / Assembler

 

Frank
Abbing
Hi,

Hab un paire Tests gemacht avec Schleifen.
une le vide Boucle, qui 100 Millionen la fois aufgerufen wird, dauert sur 120 Sekunden (P4/1800) avec Profan.
cela ganze dans Assembler dauert 78 Millisekunden, alors ca. 1600 la fois plus rapide.
intéressant encore qui Messung, si qui Code avec Sebastians Profan2Cpp fonctionnement wird. C++ nécessaire 250 Millisekunden pour qui Boucle, ist alors seulement  500 la fois plus rapide comme Profan.
Assembler ist ici alors sur 3 la fois plus rapide comme C++, quoi einiges sur native Compilate dans einer Hochsprache aussagt...

attention !
s'il te plaît absolument Sauver sous Schleifen.prf, weil sonst qui generierte Dll-Funktion pas trouvé wird.
Pour Generierung qui fertigen Exe ist qui nom des Programms naturellement égal et peux beliebig umgenannt volonté.
KompilierenMarqueSéparation
 
11.07.2004  
 



Nene Frank, là doit je toi malheureusement un peu korrigieren.

cela Prf2CPP utilise OBJs de XProfan, une pure-CPP schleife, avec richtig-gesetzem Compilerschalter ist im Geschwindigkeitsvergleich seulement léger langsamer comme pure-ASM. cela Problem ist au maximum, si qui CPP-Compiler pas richtig erkennt, cela es sich um une simple Addition handelt, et dans seinen ASM encore großartige la gamine-Checks einbaut etc.

alors un comparaison de ASM et CPP, sous Benutzung de Prf2CPP ist aus meiner sicht léger unzulässig.

jusqu'à denne, iF
 
11.07.2004  
 




Frank
Abbing
Hi,

seulement ist qui Boucle oui komplett vide...
comment Profan2Cpp oui c'est ca arbeitet weiss je pas.
KompilierenMarqueSéparation
qui Code wurde generiert et je denke, den hat qui Dev-C++ aussi nativ traduit.
peut-être sagt Sebastian encore quoi en supplément, si il ici la fois vorbeikommt
 
12.07.2004  
 



Hmmm irgendwas stimmt pas Frank, peux Du dir la fois den aktuellen XPSE runterziehen et regarder si es à mir liegt?

j'ai c:p00x, et xpia liegt dans c:p00xxpia

Alles arbeitet wohl anscheinend korrekt, aussi xpia finissez sich erfolgeich, et cela prog wird aussi gestartet, mais venez ensuite avec einer annonce cela qui DLL pas trouvé wurde. je selbst peux qui dll aussi pas ausfindig faire.

j'ai den o.g. Source versucht trop starten.

cela Ergebnis ist:
KompilierenMarqueSéparation
Erstellt mit XProfan Inline Assembler / XPIA, (C) Frank Abbing
Assemblierte Datei: C:p00xXPIAAssemblertest.enh
Declare xpia#,xpia$,xpia&
Dim xpia#,3076
Clear xpia#
Long xpia#,0=9460301,3,4,65535,184,0,64,0,0,0,0,0,0,0,0,176,247078670,-855002112,1275181089,1750344141,1881174889,1919381362,1663069537,1869508193,1700929652,1853190688,544106784,542330692,1701080941,168627502,36,0,-642185571
Long xpia#,132=-1965594663,-1965594663,-1965594663,-1966782683,-1965594664,-1966835625,-1965594660,1751345490,-1965594663,0,0,17744,262476,1088455093,0,0,554565856,201654539,512,1536,0,4096,4096,8192,268435456,4096,512,4,0,4
Long xpia#,252=0,20480,1024,0,2,1048576,4096,1048576,4096,0,16,8224,88,8192,20,0,0,0,0,0,0,16384,40,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,0,0,0,0,0,0,2019914798,116,167,4096,512,1024,0,0,0,-536870880,1633972782,24948,120,8192,512,1536
Long xpia#,488=0,0,0,1073741888,1952539694,97,60,12288,512,2048,0,0,0,-1073741760,1818587694,25455,62,16384,512,2560,0,0,0,1107296320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Long xpia#,768=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1192457387,1,836297,-1559738997,268447744,-1559476853,268447748,-1559214709,268447752
Long xpia#,1060=-1558952565,268447756,-1558690421,268447760,-1558428277,268447764,-1558166133,268447768,-1557903989,268447772,-1557641845,268447776,-1557379701,268447780,-1557117557,268447784,-1556855413,268447788,-1556593269
Long xpia#,1136=268447792,-1556331125,268447796,-1556068981,268447800,-326412861,-32792,47359,1569390592,1111537928,65732623,189383427,1576629705,1218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Long xpia#,1340=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1919251317,1680749107,27756,0,1088455093,0,8274,1,1,1,8264,8268,8272,4229,8297,1096744960,1835365235
Long xpia#,1624=1919249506,1953719668,1752065375,1819042862,1314211328,1330205771,1095652174,3229005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Long xpia#,1904=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Long xpia#,2324=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4096,40,806891536,807940128,808988720,810037312,811085904,812134496,813183088,12416,0,0,0,0
Long xpia#,2616=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Long xpia#,3036=0,0,0,0,0,0,0,0,0
xpia$=$SysPath+\_Assemblertest_enh.dll
FileMode 1
Assign #1,xpia$
OpenRW #1
BlockWrite #1,xpia#,0,3072
CloseRW #1
Dispose xpia#
~~~~~~~~~~
DECLARE X&,Y&,Z&
CLS
X&=37
Z&=External(_Assemblertest_enh.dll,FUNKTIONSNAME1,X&)
PRINT Addiere eine Millionen mal 37 = +STR$(Z&)
WAITINPUT
FIN

cela Programme venez mais avec qui annonce DLL pas trouvé: _schleifen_enh

jusqu'à denne, iF
 
12.07.2004  
 




Frank
Abbing
Hi iF,

du arbeitest wohl avec einer älteren XPIA Version, weil qui Dll encore im Systempfad generiert wird. Ab dernier Version habe je mais den Temppfad gewählt, weil es sonst trop Problemen chez pas-Admin-Usern kam. Update doch la fois.

et la hâte du cela aussi beachtet ?


attention !
s'il te plaît absolument Sauver sous Schleifen.prf, weil sonst qui generierte Dll-Funktion pas trouvé wird.
Pour Generierung qui fertigen Exe ist qui nom des Programms naturellement égal et peux beliebig umgenannt volonté.


la hâte dus hinbekommen ?

P.S.: Läuft aussi avec qui neuen XPSE Version de aujourd'hui wunderbar.
 
12.07.2004  
 




Sebastian
König
allô iF,

iF (!ReGeXiT)
Nene Frank, là doit je toi malheureusement un peu korrigieren.


et je maintenant toi ...

iF (!ReGeXiT)

cela Prf2CPP utilise OBJs de XProfan, une pure-CPP schleife, avec richtig-gesetzem Compilerschalter ist im Geschwindigkeitsvergleich seulement léger langsamer comme pure-ASM. cela Problem ist au maximum, si qui CPP-Compiler pas richtig erkennt, cela es sich um une simple Addition handelt, et dans seinen ASM encore großartige la gamine-Checks einbaut etc.


Profan2Cpp benutzt aucun OBJs de XProfan! qui (X)Profan-Codes volonté richtig pour C++ traduit et ensuite, oui c'est ca comment Frank geschrieben hat, nativ kompiliert. qui Funktionen, qui pas direct dans qui Windows-API vorhanden sommes, volonté aus den Profan2Cpp-Bibliotheken zur erstellten EXE-Dossier gelinkt.

iF (!ReGeXiT)

alors un comparaison de ASM et CPP, sous Benutzung de Prf2CPP ist aus meiner sicht léger unzulässig.


Jain . dans einem Punkt la hâte Du droite: si on qui de Frank gepostete Boucle direct dans C++ implementieren serait, fiele qui Unterschied trop Assembler sûrement deutlich geringer aus.

cela hat verschiedene Gründe: si Du Dir den de Frank geposteten C++-Code-Schnipsel ansiehst, stellst Du fest, dass qui for-Konstruktion quelque chose compliqué ist et theoretisch einfacher gestaltet volonté pourrait. Profan2Cpp muss mais qui compliquée variante benutzen afin de allen whileloop-Varianten kompatibel trop son et avec cela alles oui c'est ca comment dans Profan selbst funktioniert.

Aussi verwendet Profan2Cpp pour qui traduire Programme un Multithread-Konzept, sodass aussi dadurch et avec ca plus Zeit pour qui Boucle nécessaire wird.

je denke mais, dass es Frank chez seinem comparaison um den Bezug trop Profan allez (Frank, s'il te plaît korrigiere mich, si je mich irre ). et dabei finde je es ok, qui Geschwindigkeitssteigerungen, qui on avec Inline-ASM et Profan2Cpp erreichen peux, trop comparer. il peut doch avec dem XPSE aussi beides kombinieren, ou bien?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.07.2004  
 



Hmmm Sebastian, eigendlich oui c'est ca mon discours.
un optimierterer Cpp-Code ist à peine merklich langsamer comme une ASM-Routine, besonders chez diesem Beispiel. cela voulais je aussi seulement aussagen.

Sebastian König
allô iF,

... il peut doch avec dem XPSE aussi beides kombinieren, ou bien?

MfG

Sebastian


Jepp, je suis grad am cpp-compilerschalter.


Frank, qui faute lag chez mir, je nannte qui Dossier pas Schleifen.prf. maintenant funktioniert alles Primö!

jusqu'à denne, iF
 
12.07.2004  
 




Frank
Abbing
Hi.

@Sebastian: Du irrst toi pas, je meinte es so.
un Hochsprachencompiler erzeugt arrêt Code, qui variable gestaltet ist, um alle Eventualitäten einzukalkulieren.
qui Assemblerroutine degegen ist très undividuel.

@iF: Dachte je es doch .
qui lesen peux ist bien sûr im Vorteil
 
12.07.2004  
 



Sebastian König
qui (X)Profan-Codes volonté richtig pour C++ traduit et ensuite, oui c'est ca comment Frank geschrieben hat, nativ kompiliert.

Habe nie quoi Anderes behauptet.

Frank Abbing
qui lesen peux ist bien sûr im Vorteil

je peux es ebend pas. alors quelque chose bessere Zuarbeit büdde.
Am Ende bleibt doch mais übrig, quoi je zum Anfang déjà meinte: un optimierter CPP-Code ist dans qui Geschwindigkeit à peine trop unterscheiden vom ASM. Avec l' den OBJs J'ai eu doch seulement aufgeführt, afin de symbolisieren cela là arrêt deutlich plus que seulement un dec ecx durchgeführt wird, quoi den Speedunterschied stark ausmacht. je meinte aussi cela qui comparaison entre prf2cpp-Code et asm-code quelque chose unfair ist, weil arrêt cela prf2cpp, oui c'est ca comment du oui aussi selbst sagst, pas den optimiertesten code auswirft. Ist oui aussi logisch, doit oui sur qui verschiedensten Profanen Bedingungen passen.

jusqu'à denne, iF
 
12.07.2004  
 




Frank
Abbing
Hi.


je meinte aussi cela qui comparaison entre prf2cpp-Code et asm-code quelque chose unfair ist, weil arrêt cela prf2cpp, oui c'est ca comment
du oui aussi selbst sagst, pas den optimiertesten code auswirft. Ist oui aussi logisch, doit oui sur qui verschiedensten Profanen
Bedingungen passen.


...pour doit Profan qui Assemblerfunktionen mais aussi comme Dll-Funktionen starten. Womöglich sogar encore avec Externe, quoi alleine déjà 16 ms pour sa Ausführung nécessaire .
alors gleicht sich cela aus.
 
12.07.2004  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.116 Views

Untitledvor 0 min.
Sven Bader22.10.2021
Rschnett15.08.2017
p.specht03.05.2017
dieter02.07.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie