Hallo Brotfische,
Ich hätte mal eine Frage bezüglich Command - Systeme:
Welches Commandsystem ist das Schnellste/Ressourcensparendste?
(z.B. zcmd, dcmd, strcmp usw.)
MfG
Hallo Brotfische,
Ich hätte mal eine Frage bezüglich Command - Systeme:
Welches Commandsystem ist das Schnellste/Ressourcensparendste?
(z.B. zcmd, dcmd, strcmp usw.)
MfG
eigentlich der schnellste ist ja ZCMD
soweit ich weiss ist ycmd schneller als zcmd
nö ycmd verwendet die "engine" von zcmd also sollten die gleich schnell sein , aber das testet man am besten selber
ycmd hat man halt den vorteil , dass man da viel mehr machen kann , aber ob das einer ausnutzt ist eine andere Sache
Also meines Achtens finde ich es sinnlos Solche Sachen wie dcmd, und Co machen nur aus Befehlen public-Funktionen, welche dann per CallLocalFunction aufgerufen werden, aber am schnellsten ist immernoch strcmp.
Befehle in public´s zu verwandeln würde sich nur was bringen, wenn man sehr viele strcmp´s im Code hat (ungefähr 2000 strcmp´s in einer Funktion hintereinander).
Und diese dann auch noch alle (wenn wir von einem GF ausgehen) umzubauen in ein dcmd oder sonstwas, dann würde es logischerweise den Lag dämpfen (der nur bei meiner ungefähren Schätzung oben nur 1ms dauert), aber wer tut sich schon dies an?
Ich würde da eher über den Komfort als über die Geschwindigkeit reden, ich scripte lieber mit dcmd, weil das ganze bei z.B. Parametern viel leichter ist als strcmp
Ich würde da eher über den Komfort als über die Geschwindigkeit reden, ich scripte lieber mit dcmd, weil das ganze bei z.B. Parametern viel leichter ist als strcmp
so sehe ich das auch...
man braucht nicht viel schreiben überlegen usw sscanf benutzen fertig^^
Da ich mit nicht so sehr mit all den Commandsystemen auskenne kann ich nicht allzuviel darüber sagen.
Aber letztes mal, als ich einen Script editiert habe, habe ich gesehen, dass dcmd auch nur ein strcmp ist, das dir Komfort ermöglicht, da der define davon so aussieht:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Da dies bedeutet, dass mehrere Abfragen/Bedingungen ausgeführt werden, schätze ich nicht wirklich diese Funktion.
Da ZCMD, nach dem, was ich eben schnell überflogen habe, nur Funktionen aufruft, kann es unmöglich schneller sein.
Bewiesen ist das natürlich nicht, dafür benötigst du einige Performance und Speed-Tests.
Soweit ich mich noch erinnern kann hatte schonmal irgendwer ganz genau Speedtests gemacht, die Unterschiede betrugen nichtmal eine Millisekunde
Habe auch einen solchen Speedtest. ZCMD siegt..
/edit: ja Maddin, stell ich morgen rein
Dann solltest du vllt das test script dazu schreiben. Erzählen kann schliesslich jeder
Also, ist der Endgültige BEschluss nun:
'ZCMD ist Schneller?'
oder weiß das noch keiner?
MfG