Dovrei solo caricare il codice che mi serve se non c'è impatto sulle prestazioni per caricarlo tutto

3

Ho un'applicazione software. Attualmente all'inizio di ogni Controller carica solo i Modelli necessari per quel Controller. Ho provato di recente e ho scoperto che includere tutti i modelli sembra richiedere circa un microsecondo. Se caricassi sempre tutti i modelli, semplificherebbe l'applicazione e renderebbe le cose un po 'più ASCIUTTE. Tuttavia, vedo che molti framework di grandi dimensioni non caricano automaticamente parti non essenziali del suo codice.

Esistono altri motivi oltre alle prestazioni per evitare il caricamento automatico del codice non essenziale?

Ecco il mio test delle prestazioni di base di seguito. ( Aggiornamento : questo test delle prestazioni è difettoso, vedi il mio commento qui sotto)

    echo round(microtime(true) * 1000); // 1474295691851
    echo '<hr>';

    require_once 'DB_Model/Translate_Model.php';
    $GLOBALS['translate_model'] = new translate_model;

    require_once 'DB_Model/Import_Model.php';
    $GLOBALS['import_model'] = new import_model;

    require_once 'DB_Model/Sku_Entry_Model.php';
    $GLOBALS['sku_entry_model'] = new sku_entry_model;

    require_once 'DB_Model/Group_Entry_Model.php';
    $GLOBALS['group_entry_model'] = new group_entry_model;

    require_once 'DB_Model/Event_History_Model.php';
    $GLOBALS['event_history_model'] = new event_history_model;

    echo round(microtime(true) * 1000); // 1474295691852

Nota a margine: per favore mantieni risposte e commenti sull'argomento alla mia domanda. Sono a conoscenza di altri problemi di progettazione, come l'utilizzo di $GLOBALS . Sono consapevole e lavoro su questo.

    
posta Goose 19.09.2016 - 16:52
fonte

1 risposta

4

Le prestazioni sono qualcosa di cui preoccuparsi di più una volta che si tratta di un problema. Le tecniche di caricamento lento non dovrebbero essere utilizzate senza una buona ragione.

Tuttavia, non dovresti anche caricare in anticipo tutto ciò che è umanamente possibile solo perché è possibile.

Tra questi estremi c'è un equilibrio ragionevole. Se carichi più del necessario è ok.

In realtà le prestazioni sarebbero migliorate dopo il caricamento iniziale. Non aspettare la prima volta che qualcosa è necessario. Ecco perché gli splash screen sono diventati una cosa.

Sembra che tu l'abbia già provato e non hai ancora visto una ragione per non farlo in questo modo. Finché non ne vedi uno, fallo in questo modo.

Molto più importante è rendere leggibile il codice. Il codice leggibile è facile da rendere performante. Il codice performante è raramente facile da rendere leggibile.

    
risposta data 19.09.2016 - 23:54
fonte

Leggi altre domande sui tag