Miért mondja mindenki, hogy sokkal gyorsabb és hatékonyabb, mint az strtok? Már a kódjára is elég ránézni: sokkal hosszabb és összetettebb, ezért szerintem lassabb is.Vagy volt esetleg aki alátámasztotta a gyorsaságát futásidejû összehasonlításokkal? Én szerintem még mindig az strtok a legoptimálisabb megoldás.KowaZ Nem,a sscanf a jobb,a futásidejük össze lett hasonlítva, valahol láttam a témát de már nem emlékszem hol,lehet hogy a hiv. fórumon.És ezt nem így kell nézni,hogy melyik kód a hosszabb,attól még dolgozhat gyorsabban.E:Ja,bocs,te a kód változatról beszélsz ugye?A plugin verziót kell használni,az pontosan 10X gyorsabb. [/quote]Igen, én a kód változatról beszéltem, mivel az strtok-ot is PAWN nyelven szokták használni. Elfogadom, hogy a sscanf plugin változata jobb mint a PAWN-os strtok.De mi lenne ha az strtok-ot is pluginban megírná valaki? Az szerintem mindennél gyorsabb lenne. Vagy nem?KowaZ [/quote]Most, hogy kitaláltad mértnem írod meg?Tudtommal kellõ tudásod megvan hozzá, már csak szabadidõ kell.
Miért mondja mindenki, hogy sokkal gyorsabb és hatékonyabb, mint az strtok? Már a kódjára is elég ránézni: sokkal hosszabb és összetettebb, ezért szerintem lassabb is.Vagy volt esetleg aki alátámasztotta a gyorsaságát futásidejû összehasonlításokkal? Én szerintem még mindig az strtok a legoptimálisabb megoldás.KowaZ
Miért mondja mindenki, hogy sokkal gyorsabb és hatékonyabb, mint az strtok? Már a kódjára is elég ránézni: sokkal hosszabb és összetettebb, ezért szerintem lassabb is.Vagy volt esetleg aki alátámasztotta a gyorsaságát futásidejû összehasonlításokkal? Én szerintem még mindig az strtok a legoptimálisabb megoldás.KowaZ Nem,a sscanf a jobb,a futásidejük össze lett hasonlítva, valahol láttam a témát de már nem emlékszem hol,lehet hogy a hiv. fórumon.És ezt nem így kell nézni,hogy melyik kód a hosszabb,attól még dolgozhat gyorsabban.E:Ja,bocs,te a kód változatról beszélsz ugye?A plugin verziót kell használni,az pontosan 10X gyorsabb. [/quote]Igen, én a kód változatról beszéltem, mivel az strtok-ot is PAWN nyelven szokták használni. Elfogadom, hogy a sscanf plugin változata jobb mint a PAWN-os strtok.De mi lenne ha az strtok-ot is pluginban megírná valaki? Az szerintem mindennél gyorsabb lenne. Vagy nem?KowaZ [/quote]Szerintem ha ez így lenne,akkor már megcsinálta volna valaki a hiv. fórumon,mégsem tette senki,szerintem ennek oka van.Meg a sscanf sokkal sokoldalúbb is meg egyszerûbb,sokkal több a beálítási lehetõség,bevallom õszintén strtokot nem tudnám használni segítség nélkül,sscanfot meg igen,pedig nem ma kezdtem az ipart.Különben a sscanf kód verzióját úgy tudom levették a wikirõl is,mivel Y_Less (a készítõ) nem ajálja a használatát.
Lehet hogy sokoldalúbb, viszont tegyük fel a kérdést: Szükség van egy ilyen sokat tudó függvényre?Én maximum 3 helyen használtam az strtok-ot (amit ki tud váltani a sscanf): parancsok, SQL-lekérdezések és fájlból olvasás. Mindegyik tökéletesen megoldható az strtok-kal.Extrém esetekhez persze jól jöhet a sscanf, de én akkor is az strtok-ot preferálom, mert nem tudom miért lenne gyorsabb egy olyan függvény, amely ezeregy lehetõséget biztosít. Az emberek 99%-ának meg semmi szüksége rá.KowaZ
Ez így van, de tegyük fel a kérdést: Miért ne használjunk egy sokoldalúbb algoritmust, ha az gyorsabb is mint az strtok? [/quote]Egyetértek.
Akkor a készítõ [Y_Less] tövig kiszophat, minek írta meg, ha nem ajánlja használni?!20x jobb az strtok, mert nem kell hozzá sz*ros plugin, se .NET 4.0, sem semmi...Sokoldalúbb az biztos, de hosszabb, plugin kell hozzá, és több a hibalehetõség..
Készítettem egy futásidõ mérõ tesztet a pluginos sscanf és a PAWN-os strtok esetében, ami alapján a sscanf gyorsabbnak bizonyult. Már csak az a kérdés, hogy ha pluginban lenne mind a kettõ, akkor milyen eredményre jutnánk.KowaZ Ez nem kérdés, gyorsabb lenne mert egy egyszerûbb algoritmus.[/quote]Tehát mégis csak jobb az strtok használata az általam említett egyszerû (hétköznapi) esetekre. Csak meg kell írni C++ban. Köszönöm a közremûködéseket!KowaZ
Készítettem egy futásidõ mérõ tesztet a pluginos sscanf és a PAWN-os strtok esetében, ami alapján a sscanf gyorsabbnak bizonyult. Már csak az a kérdés, hogy ha pluginban lenne mind a kettõ, akkor milyen eredményre jutnánk.KowaZ
Ilyen egyszerû dolgokért miért kérsz tanácsot?
CMD:car(playerid, params[]){carid,if(sscanf(params, \"s[128]\", i_str)) return SendClientMessage(playerid, COLOR_RED, \"HASZNÁLAT: /car <Model ID/Név>\");if(!IsNumeric(i_str)){carid = GetVehicleModelIDFromName(i_str);}else{carid = strval(i_str);}vID = CreateVehicle(carid, X, Y, Z, Angle, color[0], color[1], -1);return 1;}
CMD:car(playerid, params[]){carid,if(sscanf(params, \"s[128]s[128]\", i_str, tmp)) return SendClientMessage(playerid, COLOR_RED, \"HASZNÁLAT: /car <Join/Leave> <Model ID/Név>\");if(!strcmp(i_str, \"join\", true)){ if(!IsNumeric(tmp)) { carid = GetVehicleModelIDFromName(tmp); } else { carid = strval(tmp); }}else if(!strcmp(i_str, \"leave\", true)){ if(!IsNumeric(tmp)) { carid = GetVehicleModelIDFromName(tmp); } else { carid = strval(tmp); }}else SendClientMessage(playerid, COLOR_RED, \"Hülye vagy\");return 1;}