Back to top

Angular 2 Change Detection – Performance

La possibilità di centinaia di migliaia di operazioni in frazioni di secondo

Abbiamo compreso come il Change Detection opera e funziona in Angular 2 in un precedente articolo, ora andiamo ad analizzare come questo comportamento impatta sulle performance della nostra Web Application.

Performance in Change Detection

Sebbene, di default, il codice deve verificare ogni singolo componente ogni volta che accade un evento, il framework Angular 2 è molto veloce: può raggiungere le centinaia di migliaia di operazioni in pochi millisecondi. Questo avviene perchè Angular genera codice ottimizzato per le VM.

In particolare  Angular crea le classi di change detector in runtime per ogni componente, che, per dirlo in un linguaggio strettamente da programmatore, sono monomorfe perchè già conoscono esattamente la forma del modello della loro componente. Le VM posso ottimizzare perfettamente questo tipo di codice e così facendo lo rendono rapidissimo da eseguire.

Un vantaggio importante di questo aspetto è che non abbiamo bisogno di prenderlo in considerazione nello sviluppo: Angular lavora autonomamente senza alcun nostro intervento.

Change Detection intelligente

Ritorniamo sul Change Detection e cerchiamo di dare una risposta alla domanda “Perchè non diciamo ad Angular di eseguire il change detection solo per le parti di applicazione che cambiano il loro stato invece di eseguirlo continuamente?”

Bene, si può fare. In Angular esistono delle strutture di dati che si permettono di conoscere quando qualcosa cambia o no : Immutabili ( Immutables ) e Osservabili (Observables ). Quando usiamo queste tipologie di strutture la change detection può essere molto più rapida. Ne scopriremo i dettagli in un prossimo articolo.

Contattaci per seguire un Corso su Angular 2 o ricevere Assistenza e Supporto Tecnico.

CONTATTI

Scrivici dal form di contatto

Tel +39 06 87811067
Fax +39 06 99335373

Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove Siamo
Roma: Piazza Don Sturzo 15
Padova: Via Savonarola 217
Milano: Viale Monza 345
Torino: Via Nizza 262

Nome*

E-mail*

Telefono ( per un rapido contatto)

Come possiamo aiutarti?

Altro che vuoi dirci?

Inviando la tua richiesta accetti le condizioni sulla privacy. Useremo i tuoi dati per rispondere alle tue domande e richieste.

TOP