ActionScript 3, Anything else

AS3 Code Optimization – write smarter run faster!:)

Nicolas Cannasse, il francese di tanti grandi progetti (haXe tra tutti…) ha recentemente scritto un bell’articolo sul suo blog riguardante l’ottimizzazione del codice Actionscript ottimo ai fini della velocit√† di esecuzione.

Pochi essenziali punti riassumibili in:

  • Riciclare gli Object in modo da non doverli ricreare a runtime…la creazione degli Object √® molto lenta rispetto al loro accesso
  • Contrariamente alla “bella” stesura del codice, nei casi dove la speed optimization √® cruciale √® bene darsi all’inlining, ossia non rimpiazzare le espressioni con dei metodi (…dove possibile)
  • L’accesso agli array √® L-E-N-T-O. Gi√† tempo fa avevo scritto sui DataStructures (for game developers e non :)) di Michael Baczynski che “risolvono” il problema: usare una lista concatenata √® davvero molto pi√π veloce di un array in AS3.

Esistono anche altri hack oltre a quelli citati da Cannasse….

…..

Number √® pi√π veloce di int che √® pi√π veloce di uint … ma non sempre.

In un post sul blog di Grant Skinner c’√® tutta una dimostrazione di come effettivamente l’uso di Number sia tuttora pi√π indicato dell’uso degli altri tipi “numerici” in ALCUNE operazioni (non in tutte!).

Riporto anche un post del topic-balena aperto da Senocular su kirupa proprio riguardo a questo punto: ecco il link

I motivi per cui preferire Number non sono solo di velocità, ma anche di capacità e precisione.
Lo zio kuwamoto infatti spiega come, al contrario dei linguaggi di programmazione “standard”, in Actionscript i valori float mantengano la precisione del dato e raddoppino la capacit√† di storage di un valore numerico in una variabile.

🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s