venerdi' a mente sgombera dall'esame e con qualche ora di sonno in piu' (si spera) provo a ragionarci sopra...
venerdi' a mente sgombera dall'esame e con qualche ora di sonno in piu' (si spera) provo a ragionarci sopra...
scusa la domanda idiota ... ma hai provato a fare ...
non ho fatto nessun test di performance, quindi non so come si comporta ... è solo un idea buttata licodice:class ReflectionPartialFunction { protected $args; protected $name; public function __construct($name){ $this->args = func_get_args(); $this->name = $name; array_splice($this->args, 0, 1); } public function invoke(){ return $$this->name(func_get_args()); } public function invokeArgs(array $args){ return $$this->name(array_merge($args, $this->args)); } . . . }
magari i cari vecchi sistemi di una volta si rivelano più performanti![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
rettifico tutto ... danie', e testa prima di postare
funziona niente per ovvi motivi, al massimo la sola invoke ...![]()
pardon ... vero ... ho modificato solo il codice on the flyOriginariamente inviato da andr3a
rettifico tutto ... danie', e testa prima di postare
funziona niente per ovvi motivi, al massimo la sola invoke ...![]()
comunque, nel caso della sola invoke, come si comporta?
altrimenti con eval?
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
male, rettifico anche quello ... non funziona niente, puntoOriginariamente inviato da daniele_dll
comunque, nel caso della sola invoke, come si comporta?
eresia, non ha senso usare eval per questa problematica e non intendo farlo, libero tu di testareOriginariamente inviato da daniele_dll
altrimenti con eval?![]()
sono a casa che sto un cessoOriginariamente inviato da andr3a
male, rettifico anche quello ... non funziona niente, punto
eresia, non ha senso usare eval per questa problematica e non intendo farlo, libero tu di testare![]()
c'ho riflettuto solo ora che invoke ed invokeArgs ricevono un array in ingresso
![]()
per quanto riguarda l'eval ... era solo per chiedere
---
ho fatto qualche prova sia con eval sia con create_function, riesco quasi ad euguagliare la reflection ... ma a scendere sotto no(a eval gli faccio fare lo stesso che fa anche create_function)
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
con la differenza che la Reflection si occupa in core di verificare argomenti, esistenza della funzione/metodo altro ... non l'hanno creata a caso, e' molto potente, imhoOriginariamente inviato da daniele_dll
ho fatto qualche prova sia con eval sia con create_function, riesco quasi ad euguagliare la reflection ... ma a scendere sotto no(a eval gli faccio fare lo stesso che fa anche create_function)
![]()
beh, a livello di performance, non c'è tutta questa differenza dato che il check lo si fa all'istanziazione della classeOriginariamente inviato da andr3a
con la differenza che la Reflection si occupa in core di verificare argomenti, esistenza della funzione/metodo altro ... non l'hanno creata a caso, e' molto potente, imho![]()
e poi mica ho detto che non è potentesemplicemente ero curioso di fare un paragone con dell'altro codice
![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
intendevo dire che la Reflection gestice in core tutto quello che tu con eval o altro dovresti gestire a mano, ergo è più veloce in assegnazione, invoke ed invokeArgs.
Ma performances a parte, che come ho già detto non sono il vero problema, cosa ne pensi delle funzioni/metodi parziali?
beh se considerì che l'utilità di queste funzioni è principalmente nei cicli direi che, secondo me, non lo sono poi moltissimo ... considera che dato che hai una serie di parametri sempre uguali sono poche le situazioni dove fai poche iterazioni ed il risparmio di tempo è comunque estremamente ridottoOriginariamente inviato da andr3a
intendevo dire che la Reflection gestice in core tutto quello che tu con eval o altro dovresti gestire a mano, ergo è più veloce in assegnazione, invoke ed invokeArgs.
Ma performances a parte, che come ho già detto non sono il vero problema, cosa ne pensi delle funzioni/metodi parziali?
nel senso che pochi caratteri in più o in meno ti alterano le performance consistentemente (in base al numero di loop)
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand