Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    [generale] Ottimizzazione del codice

    So che è l'era dello spreco e ormai tutti si preoccupano più di avere un codice strutturato in maniera più professionale e si occupano meno di quello che può essere il tempo di esecuzione di uno script.

    Ma io che sono di mentalità antica preferisco la seconda opzione, quindi chiedo a voi che avete una esperienza maggiore se conoscete articoli, libri o altro in cui viene spiegato questo processo.

    Per fare un esempio, alcune tecniche che mi sono state insegnate dalla mia professoressa di sistemi sono:
    - Inserire nell'if principale l'istruzione che è più probabile venga eseguita in maggior misura
    - Effettuare conteggi ed altro al di fuori delle istruzioni di ciclo

    Altro?

  2. #2
    Quello che vale per tutti i linguaggi è fare profiling per individuare quali sono i veri colli di bottiglia del codice e usare algoritmi più efficienti - lottando con il compilatore magari raddoppio la velocità di un blocco di codice, ma se uso un algoritmo O(n^2) quando andrebbe bene un O(n log n) le prestazioni possono crollare di diversi ordini di grandezza.

    Per il resto, molto dipende dal linguaggio a cui fai riferimento... i suggerimenti che vanno bene per un linguaggio di scripting (che tipicamente vanno nella direzione di cercare di fare la maggior parte delle operazioni tramite builtin del linguaggio, ovvero codice compilato) saranno diversi da quelli per un linguaggio che compila nativo (come C o C++), a loro volta non identici a quelli per i vari assembly (dove moltissimo dipende dall'ISA di riferimento e addirittura dallo specifico modello di processore).
    Ultima modifica di MItaly; 25-11-2014 a 11:44
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Di certo il compilatore fa meglio di te, tu preoccupati degli algoritmi.

    Poi, se e solo se, noti che ci sono problemi di performance preoccupati delle micro ottimizzazioni.

    Poi vale ciò che ha detto MItaly!
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Esiste una mole sterminata di letteratura specifica sull'ottimizzazione, in particolare fuori dal noioso mondo mainstream la capacità di concepire e applicare ottimizzazioni estreme di ogni genere è un requisito professioniale assolutamente fondamentale (es. microcontroller e core embedded assortiti).

    Fa' riferimento alla prima parte di questa bibliografia per un orientamento iniziale, in particolare Agner Fog e Randall Hyde trattano ampiamente la questione delle ottimizzazioni anche su piattaforme mainstream moderne.
    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.