posso dirla una faggianata
ma avete provato a vedere cosa fa esattamente il motore javascript a livello interno?
se si vuole VERAMENTE ottimizzare è necessario conoscere di dentro i funzionamenti!
posso dirla una faggianata
ma avete provato a vedere cosa fa esattamente il motore javascript a livello interno?
se si vuole VERAMENTE ottimizzare è necessario conoscere di dentro i funzionamenti!
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Bisognerebbe avere accesso ai sorgenti di explorer...e non essere arruginiti con il cOriginariamente inviato da daniele_dll
posso dirla una faggianata
ma avete provato a vedere cosa fa esattamente il motore javascript a livello interno?
se si vuole VERAMENTE ottimizzare è necessario conoscere di dentro i funzionamenti!![]()
per favore NIENTE PVT TECNICI da sconosciuti
si ... prove fatte:Originariamente inviato da Fabio Heller
Hai già provato a togliere il
this.reduce(...);
sostituendolo con l'operazione diretta sulla stringa?
eliminare le operazioni interne ai metodi e passare 3 numeri al this reduce per avere in ritorno il dato con la stringa già ridotta per l'operazione successiva: niente
scrivere a mano il substr in tutti i metodi: niente
usare slice o substring al posto di substr (visto mai fossero più veloci): niente
riassegnare la stirnga, eliminarla (chiamo il garbage) riassegnarla ridotta, eliminare la tmp ... : niente
se è vero che senza this.reduce stavo a 5 o 6 secondi contro 500 millesimi di ora, è anche vero che non so più dove mettere le mani per portare IE a livelli di FF ed Opera ... ho anche pensato a scriverne una dedicata IE di unserialize, a 1/3 di strada mi sono accorto di aver rifatto le stesse identiche cose![]()
![]()
tanto c'e' poco da fare, bisogna prendere il tipo di dato con il primo carattere ed agire di conseguenza, su questo non esistono dubbi, ma su questo non riesco ad operare in altro modo ...
stai parlando con uno che voleva fare un'estensione dedicata FireFox e che non usa IE manco se lo paghi (stringa[n])Originariamente inviato da Fabio Heller
Bisognerebbe avere accesso ai sorgenti di explorer...e non essere arruginiti con il c![]()
[edit]
domanda un po trota ...... se la scrivessi in VBs invece che in JavaScript ?
VVoVe:
Lascia perdere, a questo punto chi se ne frega dei millesimi?Originariamente inviato da andr3a
[edit]
domanda un po trota ...... se la scrivessi in VBs invece che in JavaScript ?
VVoVe:
Molti preferiscono usare javascript anche per ASP![]()
per favore NIENTE PVT TECNICI da sconosciuti
beh ... però si può avere accesso a più motori javascript:Originariamente inviato da Fabio Heller
Bisognerebbe avere accesso ai sorgenti di explorer...e non essere arruginiti con il c![]()
- http://www.mozilla.org/rhino/
- http://www.mozilla.org/js/spidermonkey/ ( http://lxr.mozilla.org/mozilla/source/js/src )
- http://laurel.datsi.fi.upm.es/~rpons/gjsc/
c'è ne anche un'altro, ma non ricordo completamente il nome :\
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
forse ti è sfuggito che il problema è solo in Internet Explorer ... non devo ottimizzare niente per Mozilla Opera o tutti i browser del mondo, poiche' stanno già molto bassi rispetto IE e non voglio abbassare loro, voglio abbassare IEOriginariamente inviato da daniele_dll
beh ... però si può avere accesso a più motori javascript:
mozilla
mozilla
mozilla
laurel.datsi.fi.upm.es
c'è ne anche un'altro, ma non ricordo completamente il nome :\
mezzo secondo contro un decimo di secondo ?Originariamente inviato da Fabio Heller
Lascia perdere, a questo punto chi se ne frega dei millesimi?![]()
![]()
![]()
solo il secondo è di mozilla
il resto no
e comunque sapere come funziona all'interno, dato che PER FORZA deve lavorare in maniera SIMILE a IE, può non solo semplificarti la vita ma strutturare soluzioni + efficenti
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
ma non sono di IEOriginariamente inviato da daniele_dll
solo il secondo è di mozilla
il resto no
ne dubito, non ci sarebbe un divario di 400 millesimi se cosi' fosseOriginariamente inviato da daniele_dll
PER FORZA deve lavorare in maniera SIMILE a IE![]()
cmq non intendo studiarmi il sorgente del javascript, credo gli abbia dato un'occhiata già kenta ed i suoi consigli non hanno cambiato molto il divario ... deduco siamo arrivati alla fine, la PHP_Serializer è quella, la più veloce che conosco della rete, la più semplice da usare e la meno prepotente ... unico neo, IE fa schifo, ma questo già lo sapevamo![]()
ma voi siete pazzi
comunque questa discussione mi ha fatto riflettere... ma per ora rimango fedele al mio metodo con JSON, anche perché di serializzazione non ci ho capito una mazzama non ho letto neanche niente.
Comunque, dicevo, quando ho iniziato a fare una classe AJAX accessibile, usando JSON, ho provato a fare una tabelle che si può ordinare nei vari campi. L'affermazione di andr3a sul fatto che "il client deve sudare" mi ha fatto accorgere di aver fatto una cagata pazzesca
in pratica la tabella in html aveva 30 righe, aperta la pagina vengono richieste solo quelle 30 righe, quando viene riordinata vengono richeste solo le prime 30 righe, passando di pagina in pagina vengono richieste 30 righe alla volta... insomma un numero di richieste al serve elevatissimo
tutto sarebbe più gestibile prendendo tutti i dati una volta sola e gestendoli con javascript. Proverò.
Il punto è capire quale dei due approcci è più vantaggioso: convertire da javascript i dati nel formato di PHP, o viceversa.
Perché pensavo: ok sul tuo computer il tempo di serializzazione è di 140ms, ma se viene sul tuo sito uno con un Pentium 100 Mhz? Quando ci metterà?
Questo dubbio mi sorge perché ad esempio quando vado su un sito che ha FCKEditor con molti comandi, se ci vado col portatile (500 Mhz) diventa talmente lento che è inutilizzabile.
Dovrei provare a fare dei benchmarch con PHP e JSON
antré comunque quando si hanno queste situazioni un'ottima cosa è creare un sistema intermedio che favorisca la parte più lenta di tutto il processo
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand