Pagina 12 di 37 primaprima ... 2 10 11 12 13 14 22 ... ultimoultimo
Visualizzazione dei risultati da 111 a 120 su 366
  1. #111
    Originariamente inviato da kentaromiura
    usare il continue all'interno dei cicli ad esempio
    anziche un if che valida le successive operazioni
    (vale anche per Fa')
    ...


    se vuoi provare anziche' a usare la negazione sull'if ad applicare il teorema di de morgan dei bluvertigo
    non ho capito niente, lo riscriveresti per intero pulito ?


    Originariamente inviato da kentaromiura
    e guadagni un pelo con
    codice:
    function PHP_Serializer() {
    	if((''+Object).indexOf('(') != 16)
    		this.__cut = 9;
    	else
    		this.__cut = 10;
    }
    ecco, quello che ti dicevo io ... non esageriamo !!!
    quell' if viene usato solo ed esclusivamente in assegnazione:

    var php = new PHP_Serializer();

    qui che sia 0.1 millesimi di secondo o 0.05 non cambia un accidenti di niente ... quindi non sono queste le cose che mi interessano .... l'altra forse mi interessa di più



    Detto questo, quel fast stikaz del caiser come si comporta se l'array ha solo una chiave o due o tre ?

    quante operazioni inutili farebbe ?

    perche' %8 ?

    se posti codice grazie pero' debuggalo un po' ... no ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #112
    Originariamente inviato da andr3a
    non ho capito niente, lo riscriveresti per intero pulito ?
    in un ciclo invece di fare if(TEST){FUNZIONI VARIE} (poi nulla)

    fai un IF (!TEST)continue;
    Funzioni varie non racchiuse tra parentesi

    ecco, quello che ti dicevo io ... non esageriamo !!!
    quell' if viene usato solo ed esclusivamente in assegnazione:

    var php = new PHP_Serializer();

    qui che sia 0.1 millesimi di secondo o 0.05 non cambia un accidenti di niente ... quindi non sono queste le cose che mi interessano .... l'altra forse mi interessa di più
    no, guarda bene e testa
    Detto questo, quel fast stikaz del caiser come si comporta se l'array ha solo una chiave o due o tre ?

    quante operazioni inutili farebbe ?

    perche' %8 ?

    se posti codice grazie pero' debuggalo un po' ... no ?
    poche un if e un paio di assegnazioni(circa 3/8 cicli di CPU in piu' ma poi li riguadagni nel while)

    %8 = resto della divisione per 8

    se non e' multiplo di 8 dovro fare i cicli che mancano o no??

    perche' debug?funziona tutto no??io testai tutto

  3. #113
    Originariamente inviato da kentaromiura
    in un ciclo invece di fare if(TEST){FUNZIONI VARIE} (poi nulla)

    fai un IF (!TEST)continue;
    Funzioni varie non racchiuse tra parentesi
    motivo ? ... non mi risulta che il codice venga comunque preso in considerazione ... salta e basta, o no ?


    Originariamente inviato da kentaromiura
    no, guarda bene e testa
    sul costruttore non devo testare niente ... te l'ho detto, non comporta alcun microscopico miglioramento in serializzazione / deserializzazione ... è solo per assegnare il this.__cut poiche' non verrà piu' richiamato il costruttore e non servono tanti serializer, ne basta uno, ergo frega niente di ottimizzare un solo if sul costruttore, è serialize e unserialize che mi interessano


    Originariamente inviato da kentaromiura
    poche un if e un paio di assegnazioni(circa 3/8 cicli di CPU in piu' ma poi li riguadagni nel while)
    il while che ho riadattato io è unico, leggibile, zero 3/8 cicli in piùm sfrutta sto' --k che ribadisco va meglio e di pochissimo solo su IE, sono diverse riche in meno da scaricare lato client, dubito ci siano differenze tra la mia attuale classe e la tua, in deserializzazione ... anzi, creo che la tua con una sfilza di array a 7 chiavi risuli estremamente più lenta, la mia almeno in quel punto è coerente



    Originariamente inviato da kentaromiura
    %8 = resto della divisione per 8

    se non e' multiplo di 8 dovro fare i cicli che mancano o no??
    ma fai comunque i cicli che mancano ... come ho fatto io, in compenso per manutenzione credo che un solo while(){istruzione} piuttosto che quella sfilza di roba che hai scritto te credo non ci sia paragone


    Originariamente inviato da kentaromiura
    perche' debug?funziona tutto no??io testai tutto
    non lo so ... però non mi sembrano cambiamenti rivoluzionari tipo quell' array al posto del += in serializzazione ... cioe' non noto differenze , solo un casino per manutenzione ... ed io vorrei levare quei 400 millesimi in più su IE e basta, non complicarmi la vita ... con questi metodi levo quei 400 millesimi in più ? no ... quindi ? ... boh, altri consigli , spero
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #114
    in pratica invece di eseguire 8 cicli while tu esegui 8 istruzioni per while? :master:

    vantaggio reale? :master:

    se eseguo un normalissimo while che mi esegue un'operazione per volta cosa mi cambia?
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #115
    Originariamente inviato da daniele_dll
    in pratica invece di eseguire 8 cicli while tu esegui 8 istruzioni per while? :master:

    vantaggio reale? :master:
    nullo o irrisorio stando ai miei test ... e sinceramente mi sembra un goto da quanto è anti estetico ....

    sfrutti male un while per aggiungere operazioni procedurali ... sfidi a farlo piu' veloce ?

    stando alla tua teoria basterebbe mettere %16 o %32, scrivere a mano il decremento 32 volte ... eccolo più veloce, ma ribadisco, ha senso ? comporta vantaggi reali ?

    il while l'hanno inventato, con uno su --k aggingo solo un + 1 al parse int ... operazione inutile, imho, bastava
    while(k--)
    pero' su ie c'ho un 1% di velocità con --k ... ok, l'ho messo, pero' ora non dirmi di scrivere quella miriade di roba stile assembler

    attendo sempre altri consigli, siete pregati di testare su IE e dirmi se riuscite veramente ad abbassare i tempi fino a quelli di Opera o FireFox ... in ultimo, Opera con JS è veramente una scheggia !!! ... l'ho rivalutato di molto !
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #116
    su ie devi, probabilmente, cambiar logica
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #117
    Originariamente inviato da daniele_dll
    in pratica invece di eseguire 8 cicli while tu esegui 8 istruzioni per while? :master:

    vantaggio reale? :master:

    se eseguo un normalissimo while che mi esegue un'operazione per volta cosa mi cambia?
    nel caso tu abbia piu' di 8 cicli cambia tantissimo
    nel caso tu ne abbia meno pochissimo

    si arriva a 1/4 della velocita' di esecuzione o anche meno
    anch'io quando l'ho visto per la prima volta ho schifato ma
    confrontando le prestazioni lo utilizzo come Ultima alternativa,
    quando tutto il codice JS e' stato ottimizzato, quando la struttura del codice non e' piu' migliorabile e solo nei punti critici

    @andrea :
    quel ciclo e' il punto critico della libreria
    quel punto e dove il carico del tempo di esecuzione staziona,
    e non credo in futuro tu debba metterci mano a quel codice,
    altrimenti non avrei applicato il duff device
    che aborro.
    ps.
    comunque no dopo 12/13 volte il tempo guadagnato e insensibile.

  8. #118
    Originariamente inviato da kentaromiura
    si arriva a 1/4 della velocita' di esecuzione o anche meno
    ma dove ? ... è per questo che ti stò dicendo che secondo me non ha senso, hai fatto dei bench ?


    Originariamente inviato da kentaromiura
    @andrea :
    quel ciclo e' il punto critico della libreria
    quel punto e dove il carico del tempo di esecuzione staziona,
    e non credo in futuro tu debba metterci mano a quel codice,
    altrimenti non avrei applicato il duff device
    che aborro.
    ok, lo so ... ho capito, ma dai miei tests, non solo su IE non guadagno un accidenti di niente, ma col tuo metodo ho aumentato del 25% i tempi di deserializzazione di FireFox ed Opera ... non è così che riesco VERAMENTE a diminuire i tempi ... anzi ... e il fatto della manutenzione è semplice, se dovessi cambiare una virgola, magari rivoluzionaria, mi tocca cambiare 12 linee di codice invece di una ... probabilmente è come dice daniele, su IE bisognerebbe proprio rifare tutto ... ma come ?
    io non ho più idee, meglio di così non ce la faccio, ie sta' sui 500 millisecondi, FF 150 ed opera 110 ... ma più che:

    1 - diminuire la stringa interna all' oggetto senza doverla passare di volta in volta
    2 - sfruttare il solo substr sul primo carattere per fare il punto 1

    non so dove sbattere la testa ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #119

  10. #120
    Originariamente inviato da kentaromiura
    .
    è quello che pensavo anche io



    cmq il collo di bottiglia non è li kenta ... il collo è tutto qua:
    codice:
    function PHP_UnSerializer__Reducer(l) {
    	this.__s = this.__s.substr(l,(this.__s.length-l));
    }
    ma è indispensabile questa funzione ed è proprio quella che m'ha fatto abbassare spaventosamente i tempi su IE e gli altri ... this.reduce ... usato in tutti i metodi di deserializzazione ... non ne posso fare a meno, potrei evitare di chiamare il metodo e scriverlo a mano ogni volta che ne ho bisogno ... ma credo non cambi molto lostesso
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.