sulle prestazioni ci sono da fare un paio di punti:
- alcuni progetti enterprise si basano su Rhino (JavaScript server side) che sfrutta invoke Java fino all'estremo, nessuno s'è mai lamentato delle performances, il problema non è li, casomai del db se il progetto è veramente grande
- sul mio laptop datato e ormai stanco, ma ancora fedele, su 1000 interazioni da 1 a N parametri le performance si sono dimostrate circa 3 volte più lente della chiamata diretta
All'ultimo punto va aggiunto che:
- difficile chiamare mille volte una funzione, se non in un loop ... ma se looppate 1000 volte qualcosa la pagina sarà lenta con o senza reflection
- rispetto la call_user_function e la call_user_function array, la reflection è dalle 2 alle 3 volte più veloce ... ergo è la più vicina alla chiamata diretta
- con la chiamata diretta ci si scorda l'invoke, l'invokeArgs, la Reflection in generale, e cigliegina nella torta, la possibilità di rendere funzioni e metodi estremamente più portabili/flessibili grazie alla creazione di funzioni e/o metodi parziali, condivisibili tra oggetti, variabili, scripts, altro.
per l'australiana lasciame lavurà![]()