Ich denke schon. Naja, da warte ich einfach auf die Releaseversion. Ich kann die Zeile ja noch drin lassen.
XProfan X4 mit Inlineassembler und mehr
-
-
-
Wie groß ist denn bei Dir bei meinem Testprogramm der Unterschied?
Gruß
Roland -
10 Sekunden gegen 733 Sekunden. Und ich klammer wirklich nur diese Zeile aus (für 4 Grids).
Ah, sorry, hab gerade erst gelesen, dass du dein Programm meinst. Ich hab mit meinem gemessen. Bei deinem sind es 4 Millisekunden.
Das Problem tritt nur auf, wenn ich statt Listen Grids benutze und auch nur in der Runtime, nicht im Interpreter:
Code
Alles anzeigen$H messages.ph CLS declare long start, ende var int n = 100000 var handle list1 = create("grid", 10,0) start = &getTickCount whileloop n addstring(list1, "Test") endwhile ende = &getTickCount print ende - start var handle list2 = create("grid", 10,0) SendMessage(list2,~wm_SetReDraw,0,0) start = &getTickCount whileloop n addstring(list2, "Test") endwhile ende = &getTickCount print ende - start waitinput
-
Da Runtime und Interpreter den gleichen Code verwenden, solltest Du mal überprüfen, ob Du in den Projekteinstellungen (oder Optionen) auch die richtige Runtime eingestellt hast! Mit Grids habe ich es auch getestet:
Code
Alles anzeigen$H messages.ph CLS declare long start, ende var int n = 1000 var handle list1 = create("grid", 3, 0) start = &getTickCount whileloop n addstring(list1, "Test|Fest|Rest") endwhile ende = &getTickCount print ende - start var handle list2 = create("grid", 3, 0) SendMessage(list2,~wm_SetReDraw,0,0) start = &getTickCount whileloop n addstring(list2, "Test|Fest|Rest") endwhile ende = &getTickCount print ende - start waitinput
Gruß
Roland -
Aye, stimmt. Ich hatte die alte Runtime benutzt.
Läuft gut! -
Beim XProfed hatte ich für zwei neue Systemvariablen (%FTPRunning, %DropDownID) und eine Funktion (DropDown()) das Syntaxhighlighting vergessen. Jetzt ist es drin. Bitte die aktuelle Version über obigen Link (Beitrag 135) noch einmal herunterladen.
Gruß
Roland -
Ob da alles drin ist, habe ich nicht geprüft.
Aber bei Durchsicht fiel mir auf:Bei den Befehlen ist "CMP" doppelt vorhanden.
Bei den Funktionen gibt es Linked().
Bei den Systemvariablen fehlt !Now
und "&lading" soll wahrscheinlich "&loading" sein (das ja zu DownloadFile$ gehört) -
Danke für die Hinweise.
&lading soll eigentlich %loading sein!
Was linked() soll, weiß ich auch nicht mehr. Vielleicht eine Funktion zu Frank Abbings Assember für XProfan?
Ach ja: Die Funktion fAddr(), um die Adresse einer mit ASM, ImportFunc() oder ImportDLL() hinzugefügten Funktion zu ermitteln, fehlte auch noch!Ich werde das noch anpassen.
Gruß
Roland -
Aktualisierte Version hochgeladen.
-
Ich habe es vollständig durchgesehen.
Es ist sicher nicht lebenswichtig, aber interessant wie vollständig.Die Befehle ArrDel und ArrIns fehlen.
Dafür ist MidiWrite noch drin.Bei den Funktionen sind die alten ansitoutf8 und utf8toansi enthalten,
aber der neue Ersatz utf8decode und utf8encode fehlt.Die Containerfunktionen sind, bis auf db, alle enthalten.
Systemvariablen:
!now
%dropdownid, %exitcode, %fontcolor
&bytesread, &hwnd, &index, &mwnd, &scproc, &uwnd
$currentdir -
DANKE!
Vielen Dank für deine Bemühungen. Da werde ich das Ganze morgen Abend noch mal durchsehen!
Gruß
Roland -
!bow und %dropdownid waren schon drin, aber den Rest habe ich hinzugefügt bzw. entfernt.
Bitte noch einmal downloaden!Gruß
Roland... und jetzt wird an der Hilfe weiter gearbeitet ...
-
!bow
Jetzt wird's gefährlich. XProfan hält einen Bogen bereit mit Floating-Point Genauigkeit... -
!bow
Jetzt wird's gefährlich. XProfan hält einen Bogen bereit mit Floating-Point Genauigkeit...wieso Bogen? Es handelt sich hierbei um eine sehr akurate Verbeugung. Eine virtuelle Verbeugung vor Roland, jedes Mal wenn die variable benutzt wird.
-
Nein, nein: ich reagiere jetzt auf dumme Syntax- und Schreibfehler mit einem gezielten Bogenschuss!
AUTSCH!
Gruß
RolandNachtrag: ... und noch ein Tippfdehler: &hwnd funktioniert noch nicht, dafür aber &hwin. Wird heute Abend nachgereicht.
-
Nein, nein: ich reagiere jetzt auf dumme Syntax- und Schreibfehler mit einem gezielten Bogenschuss!
AUTSCH!
Das könnte schmerzhaft für mich werden.
Ich weiß, dass du nichts mehr ändern willst, aber da du die COM-Befehle zusammengefasst hast und so würde ich vorschlagen den Container "SMTP" in "Mail" umzubenennen. Ist eine rein kosmetische Sache, aber da jetzt Befehle zum Senden und Empfangen drin sind ergibt das mehr Sinn.
-
Das mache ich jetzt nicht mehr, auch wenn es naheliegend wäre. Es käme dann nämlich zu Kompatibilitätsproblen, also müßte ich auch an den Präcompiler ran ... und auch set("SMTPSSL",...) müsste dann in set ("MAILSSL",...) umbenannt werden.
Zu viel für den jetzigen Zeitpunkt. Ich werde jetzt nur an der Hilfe basteln ...
Gruß
Roland -
Jo, kein Ding. Vielleicht was für die nächste Version.
-
Nachtrag: ... und noch ein Tippfdehler: &hwnd funktioniert noch nicht, dafür aber &hwin. Wird heute Abend nachgereicht.
Ok, das ist jetzt auch korrigiert. Download unter bekanntem Link!
Gruß
Roland -
Ich hab mir mal die Assemblerbeispiele angeschaut. Ich selbst hab keine Ahnung von Assembler, deshalb eine Frage:
Wäre es möglich einen eigenen Thread für Assemblerfunktionen für XProfan einzurichten wo jeder was sinnvolles einreichen kann? Vielleicht könnte man noch einen für Funktionen machen, die Teile von XProfan beschleuningen, zum Beispel ein schnelleres SubStr(). -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!