Tecniche di ottimizzazione del codice

La degradazione dell'uso inefficiente della memoria è molto maggiore di quella dell'uso inefficiente delle cache, perché la differenza di velocità tra memoria e disco è molto più alta che tra cache e memoria.

Le tecniche di ottimizzazione del codice includono:

  • Per ridurre al minimo il set di lavoro del codice di un programma, impacchettare il codice eseguito frequentemente insieme, separando il codice utilizzato raramente. In altre parole, non mettere lunghi blocchi di codice di gestione degli errori in linea e caricare i moduli chiamati frequentemente accanto ai loro chiamanti.
  • Per ridurre al minimo il set di lavoro dei dati, concentrare i dati utilizzati di frequente insieme ed evitare riferimenti non necessari alle pagine. Ciò può essere realizzato utilizzando la sottoroutine malloc () invece della sottoroutine calloc () , inizializzando le strutture di dati immediatamente prima che vengano utilizzate e assicurandosi di liberare e eliminare lo spazio assegnato quando non è più necessario.
  • Per ridurre al minimo lo storage bloccato, inserire il codice bloccato in moduli di caricamento separati. Assicurarsi che sia necessario utilizzare il codice bloccato. Alcune strutture di sistema (come i pool mbuf) sono bloccate in memoria; non aumentarle arbitrariamente.
  • È possibile utilizzare tecniche in tempo reale, come la sottoroutine plock () per bloccare il codice in memoria e le priorità messe in evidenza con la sottoroutine setpri () .