Super erklärt Kaliber,
Habe das endlich mit dem #emit geschnallt.
Mach Weiter So
MFG Piet
Super erklärt Kaliber,
Habe das endlich mit dem #emit geschnallt.
Mach Weiter So
MFG Piet
Hatten wir schon per PN. #emit bringt einem fast nichts. Du kannst deine Codes nicht vergleichen, da diese komplett verschieden sind.
Hatten wir schon per PN. #emit bringt einem fast nichts. Du kannst deine Codes nicht vergleichen, da diese komplett verschieden sind.
würde ich nicht sagen emit ist schneller als ein normaler codes und zu dem kompakter
jedoch ist es eher schwachsinn sein ganzes skript drauf aufzubauen.(möglich wär es schon)
würde ich nicht sagen emit ist schneller als ein normaler codes und zu dem kompakter
jedoch ist es eher schwachsinn sein ganzes skript drauf aufzubauen.(möglich wär es schon)
Nicht wirklich, wenn man den Compiler richtig einstellt (ohne debug & zeugs), wird es defintiv schneller sein. Der Compiler optimiert den Code so, dass die CPU schneller damit arbeiten kann.
endlich mal ein Gscheites 10/10
die anderen war'n zu kompliziert für meine Wenigkeit
Unbedingt würde ich mich auch nicht unbedingt allgemein auf
Optimierung einlassen, ohne guten Beweiss emit solltest du noch etwas erklären doch hast du es berreits im "Großen Masse" auf Leistung getestet?
Kurze erläuterung, wenn ich eine bilige Leine kaufe ist sie nicht nur wegen dem Preis(Hier Geschwindigkeit) besser es kommt auch auf die mögliche Auslastung an, teste es mal mit einer 40.000 Schleife etc.
MFG Arendium
Unbedingt würde ich mich auch nicht unbedingt allgemein auf Optimierung einlassen
Dann lass es
Kurze erläuterung, wenn ich eine bilige Leine kaufe ist sie nicht nur wegen dem Preis(Hier Geschwindigkeit) besser es kommt auch auf die mögliche Auslastung an, teste es mal mit einer 40.000 Schleife etc.
Habe doch 4 Leistungstests gemacht und lPrototypel auch nochmal, also das hat schon so seine Vorteile....
Wenn du meinst, aber wenn du sowas zeigst warum nicht memcpy ?
Wenn du meinst, aber wenn du sowas zeigst warum nicht memcpy ?
Weil das kein Directive ist
Wenn du meinst, aber wenn du sowas zeigst warum nicht memcpy ?
Welchen Sinn hätte das?
Wie schon gesagt, per emit zu optimieren ist definitv falsch, das könnendir Y_Less und andere zu Genüge sagen
das kann dir Y_Less und andere zu Genüge s
Wieso nutzt er es dann
Wieso nutzt er es dann
Er verwendet es nicht zur Optimierung. YSI wäre ein klassischer Fall. Evt schon mal gepostet:
http://forum.sa-mp.com/showthread.php?t=315531
http://forum.sa-mp.com/showthread.php?p=1608985#post1608985
Gruss
Edit: Ah hier haben wir ja das wunderschöne Sätzchen
ZitatThis is generally used to extend the abilities of PAWN itself, not write things in PAWN
Beim Lesen des Themas fällt einem auf, dass dort steht, dass man damit anscheinend sein Script ganz schön schrotten kann.
ZitatIf you are writing a gamemode you probably don't need this.
If you are writing a filterscript you probably don't need this.
If you are writing a library you probably don't need this.
If you are looking to optimise your mode this is not the way to go.
ZitatThis is a VERY advanced PAWN topic, if you don't know what to use #emit for, you don't need it, simple as! The compiler will NOT detect mistakes and it is VERY easy to screw your entire mode up using this.
LG
Ich finde die ganze #emit-Sache bei dir leider schlecht erklärt.
Du kennst dich vielleicht davon etwas aus, aber für jeamden dem das neu ist,
der kann sich da schlecht was darunter vorstellen.
Du föngst nämlich gleich mit dem Hauptteil an und zeigst ein paar Beispiele.
Theorie ist auch, besonders bei solchen Sachen, wichtig.
Wieso nutzt er es dann
Er nutzt es hauptsächlich zur umkonvertierung und schnellen hooks
Beispiel:
public _Class_OtherRequestClass(playerid, classid)
{
if (YSI_g_sHookC)
{
#emit PUSH.S classid
#emit PUSH.S playerid
#emit PUSH.C 8
#emit LCTRL 6
#emit ADD.C 28
#emit PUSH.pri
#emit LOAD.pri YSI_g_sHookC
#emit SCTRL 6
#emit RETN
}
}
Ich finde die ganze #emit-Sache bei dir leider schlecht erklärt.
Du kennst dich vielleicht davon etwas aus, aber für jeamden dem das neu ist,
der kann sich da schlecht was darunter vorstellen.
Du föngst nämlich gleich mit dem Hauptteil an und zeigst ein paar Beispiele.
Theorie ist auch, besonders bei solchen Sachen, wichtig.
Also noch einfacher erklären, ging ja irgendwie nicht...und ich habe mir wirklich Mühe gegeben !
Zudem musst du ja nicht mit #emit anfangen und es eigentlich auch nicht nutzen, es dient lediglich zur Information, dass es existiert
Er nutzt es hauptsächlich zur umkonvertierung und schnellen hooks
Ja, ich habe mir mal alle seine Includes angeschaut und deshalb weiß ich ja, dass er sehr viel #emit nutzt
Er verwendet es nicht zur Optimierung.
Aber man könnte es doch dafür verwenden, ich meine die Tests sprechen für sich oder ?
Also noch einfacher erklären, ging ja irgendwie nicht...und ich habe mir wirklich Mühe gegeben !
Zudem musst du ja nicht mit #emit anfangen und es eigentlich auch nicht nutzen, es dient lediglich zur Information, dass es existiert
Es geht nicht darum, ob du es einfach oder kompliziert erklärst.
Was fehlt sind die Grundlagen dieser Funktion, die Vorstellung der Möglichkeiten,
die Erklärung weshalb, warum, wieso...
Wenn du mir sagst: "Man kann #emit benutzen... Um Variablen zusammenzurechnen."
dann kann damit kein Schwein was anfangen.
Aber man könnte es doch dafür verwenden, ich meine die Tests sprechen für sich oder ?
Hoffe ich auch mal stark, solange man nicht grad unnötig in der Gegend rumpusht/popst (Obwohl diese Befehle zum Abwinken optimiert worden sind). Mal von Sinn der eigentlichen Optimierung abgesehen: Warum sollte man eine leserliche Syntax in eine schwer wartbare Sprache umwandeln ? Ich geh mal davon aus, dass Du keinen Server mit 150 Spielern hast und du mit ner rechten Serverauslastung hast. Klar kannste immer Mikrooptimierung betreiben, aber viel besser ist es gut wartbaren Code zu schreiben. Langsamer Code ist meistens designbedingt (zB wie viele Leute dini oder OnPlayerUpdate verwenden/verwendet haben). Pawn ansich läuft in ner VM und dort sollst Du nur Zwecks Erweiterung drauf zugreifen (emit Opcodes also) - so wie es Y_Less macht.