Ho guardato il codice JavaScript di altre persone e ho notato che molti programmatori tendono a creare funzioni che potrebbero essere combinate con le funzioni che le chiamano. Un esempio è this; la funzione 'initWebGL' potrebbe essere combinata con la funzione 'start' e funzionerebbe allo stesso modo. Un altro esempio si trova nella fonte di this, dove la funzione 'tick', che viene chiamata ogni 15 millisecondi, effettua chiamate a due altre funzioni che possono anche essere combinate con 'tick'. Capisco le qualità organizzative di questo, ma sono curioso dell'effetto sulle prestazioni. Sta facendo questa buona pratica, soprattutto considerando che JavaScript è un linguaggio interpretato?Quanto costose sono le chiamate di funzione in JavaScript?
risposta
Le migliori pratiche per qualsiasi lingua sono scrivere codice che sia leggibile e mantenibile prima, e quindi ottimizzare se necessario.
Se il programma esegue una suddivisione abbastanza veloce in blocchi facili da digerire, quindi lasciarlo in questo modo. Se sta funzionando lentamente, allora come Hobodave menzionato, profilo per trovare la causa della lentezza.
Le probabilità sono, sta andando per essere causato da qualcosa di diverso le funzioni di chiamata, ma se succede per essere causato da questo, poi funzioni di avviamento combinando insieme, una volta che hai rintracciato verso il basso per questo.
http://www.slideshare.net/madrobby/extreme-javascript-performance diapositive 10..19
10 000 chiamate fa la differenza in IE e Firefox. 1 chiamata no.
- 1. perché le chiamate di prelievo sono costose?
- 2. "Le chiamate di funzione sono costose" rispetto a "Mantieni le funzioni piccole"
- 3. Le funzioni analitiche Oracle sono costose?
- 4. Quali sono le costose ottimizzazioni di GCC?
- 5. Quali operazioni sono economiche/costose in mongodb?
- 6. Quanto sono diverse le semantiche tra Python e JavaScript?
- 7. Quanto sono sufficienti le prove?
- 8. Quanto sono profonde le funzioni inline dei compilatori?
- 9. Funzione stimata tabella remota Le chiamate non sono consentite
- 10. Quanto sono efficienti le proiezioni di MongoDB?
- 11. JSLint sostiene alcune chiamate di funzione ricorsiva sono "fuori portata"
- 12. Perché determinate chiamate di funzione sono denominate "invocazioni illegali" in JavaScript?
- 13. Le chiamate di funzione possono essere riordinate
- 14. Le chiamate ".WithFooToken()" di Roslyn sono superflue?
- 15. Come posso rilevare le funzioni Javascript chiamate?
- 16. javascript setInterval: le chiamate si sovrappongono?
- 17. Quanto sono trasferibili le abilità di programmazione tra le lingue?
- 18. Quanto sono stabili le macchine ec2?
- 19. Quanto sono sicure le sessioni PHP?
- 20. Sono chiamate di funzione come read(), write() chiamate di sistema effettive in linux?
- 21. Quanto sono popolari le revisioni del codice di sicurezza?
- 22. Elenco di tutte le chiamate di funzione effettuate in un'applicazione
- 23. Funzioni di Javascript chiamate in Chrome
- 24. Operazioni più costose in PHP?
- 25. Redux: perché le funzioni di stato sono chiamate riduttori?
- 26. Come possiamo facilmente richiamare le chiamate di funzione in elisir?
- 27. Le funzioni JavaScript sono asincrone?
- 28. javascript sintassi: chiamate di funzione e l'utilizzo di parentesi
- 29. Quanto sono sicuri le chiavi di accesso di Amazon AWS?
- 30. Le funzioni in coda JavaScript sono ottimizzate?
Questo non dipende da quale interprete si utilizza? – kennytm
Se un linguaggio di programmazione richiede di perdere l'organizzazione per essere abbastanza efficiente, tale linguaggio dovrebbe essere attivato. – seanmonstar
Le chiamate di funzione in Javascript sono meno costose dell'incubo di manutenzione causato da codice mal organizzato. – friedo