ti toglie il primo carattere, e basta?
ti toglie il primo carattere, e basta?
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
no .... una serializzata ha il tipo di dato all' inizioOriginariamente inviato da daniele_dll
ti toglie il primo carattere, e basta?
a
O
i
d
b
N
in base a quel carattere agisco , prendo il dato, levo il testo usato dalla stringa, ridotta quindi di variabile in variabile ...
prima passavo la stringa per intero e la ripassavo ridotta per ogni metodo , ora la stringa, a inizio deserializzazione viene presa, copiata sulla stringa interna, ed eliminata, cosi' l'oggetto lavora su quella interna che sara' esponenzialmente sempre piu' veloce man mano che deserializza ( ogni riduzione aumenta la velocita' di deserializzazione ).
Prima di muovermi in questo modo avevo secondi , ora ho millesimi, ma per quanto stra soddisfatto di FireFox ed Opera, non riesco ( e le sto' provando tutte!!! ) ad abbassare sensibilmente i tempi in IE ... sto' sempre tra 500 e 550 millisecondi, qualunque cosa faccia.
vorrei arrivare a 200 al massimo e ci sono riuscito, evitando il reduce, solo per vedere se era quello ad influire ... risultato ?
si, su IE la riduzione è migliore ma comunque lenta, non posso evitare la riduzione perche' altrimenti la var risultante è piena di errori ...![]()
invece deve essere perfetta, ma mi serve quel reduce
P.S. il paramentro e' una L , non un 1(e non lo passerei se fosse stato un 1, è il forum he lo fa sembrare 1 invece di elle l)
var asd = "asd";
alert(asd[0]);
senza usare questa tua funzione direttamente fai quello che devi fare sulla stringa trattandolo come array ... fa tutto C ed è comunque (credo) + veloce di richiamare un metodo ed una funzione
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
c'entra una mazza danie'Originariamente inviato da daniele_dll
var asd = "asd";
alert(asd[0]);
![]()
leggi cosa ho scritto ... non levo un carattere, e' UNA ELLE![]()
a parte che nel while cachare this.__s.substr(0,1) non ho piu' nulla da dire![]()
raga, no, da errori su IE ... non è detto sia un oggetto e non c'entra niente this.__s[0] e non centra niente il solo primo carattere![]()
come ti miglioro il reducer cachandocodice:function PHP_UnSerializer__Reducer(l) { var x=this.__s this.__s= x.substr(l,(x.length-l)); }![]()
ho guadagnato 0.030![]()
già fatto, guadagnato una mazzaOriginariamente inviato da kentaromiura
come ti miglioro il reducer cachando![]()
ho guadagnato 0.030![]()
devo guadagnare
0.300 , no 0.050 o a volte 0.005 o a volte -0.100
[edit]
Ok, attendo ansioso Fabio sperando trovi il tempo di fare l'unserialize ... e sperando riesca a spararmi 180 di average in deserializzazione
[edit2]
si, era gia' cachato, devo cachare 2 volte, l'ho tolto apposta ... cachare serve ad una fava, poiche' senza non c'e' nemmeno bisogno di ceare una copia , viene perso il dato e fineOriginariamente inviato da kentaromiura
a parte che nel while cachare this.__s.substr(0,1) non ho piu' nulla da dire![]()
![]()
parlavo della funzioneOriginariamente inviato da andr3a
raga, no, da errori su IE ... non è detto sia un oggetto e non c'entra niente this.__s[0] e non centra niente il solo primo carattere![]()
_Common_ArrayObject
invece di scrivere
this.__s.substr(0,1)
usa var t= this.__s.substr(0,1)
e poi tmp[this[t]()] = this[t]();
![]()
antré sei frocio ... che ti ho chiesto a fare allora![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand