Dati :: Riuse

Condividi valori costanti con dati :: alias
Scarica ora

Dati :: Riuse Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Elizabeth Mattijsen
  • Sito web dell'editore:
  • http://search.cpan.org/~elizabeth/

Dati :: Riuse Tag


Dati :: Riuse Descrizione

Condividi valori costanti con dati :: alias Per impostazione predefinita, Perl non condivide valori letterali (0, "foo", "bar"). Questo perché una volta che un valore letterale è memorizzato in variabile (un contenitore), il contenuto di quel contenitore può essere modificato. Anche se tale contenitore è contrassegnato da "sola lettura" (ad esempio con un modulo come scalare :: Readonly), non farà condividere i valori. Quindi ogni occorrenza dello stesso valore letterale ha la propria posizione di memoria, anche se è contrassegnata da internamente come read-only.in Un mondo ideale, Perl manterrebbe una singola copia di ciascun valore letterale (contenitore) e avere tutte le occorrenze nel punto di memoria allo stesso contenitore. Una volta che un tentativo è fatto per cambiare il contenitore perl rendere una copia del contenitore e mettere il nuovo valore lì dentro. Questo principio è solitamente indicato come copia-on-write (mucca). Sfortunatamente, Perl non ha questo regime nel modulo Dati :: alias che consente di condividere contenitori tra diverse variabili (tra le altre cose). Ma ancora non ti consente di avere valori letterali condividere la stessa località di memoria.Data:::REUSE è un modulo perl che consente di avere facilmente i valori letterali e di sola lettura condividono lo stesso indirizzo di memoria. Che può farti risparmiare molta memoria quando lavori con grandi strutture di dati con valori simili. Che è particolarmente bello in un ambiente Mod_perl, in cui l'utilizzo della memoria dei processi persistenti è uno dei problemi principali .. Corso, nessun risparmio di memoria si verificherà per i valori letterali che si verificano solo una volta. Quindi è importante utilizzare saggiamente la funzionalità di questo modulo, solo sui valori che ti aspetti di essere duplicati almeno due volte.Synopsis Utilizzare i dati: riutilizzo QW (fissati); fissare il mio @array => (0, 1, 2, 3); # inizializza e fissa il mio @ riempired_array = (0, 1, 2, 3); fixate @ compied_array; # Fissare i valori esistenti Stampa \ $ Array == \ $ Pieno_array ? "Condividi la memoria \ n": "Non condividere la memoria \ n"; fissa il mio% hash => (zero => 0, uno => 1, due => 2, tre => 3); il mio% riempito_hash = (zero => 0, uno => 1, due => 2, tre => 3); fixate% riempito_hash; Stampa \ $ hash {zero} == \ $ riempire_hash {zero}? "Condividi la memoria \ n": "Non condividere la memoria \ n"; Utilizzare i dati: riutilizzo QW (riutilizzo); riutilizzare i miei $ listeref = ; Riutilizzare $ Hashref = {zero => 0, uno => 1, due => 2, tre => 3}; Stampa \ $ LISTREF -> == \ $ Hashref -> {zero}? "Condividi la memoria \ n": "Non condividere la memoria \ n"; Utilizzare i dati :: alias qw (alias); Utilizzare i dati: riutilizzo QW (riutilizzo); alias my @foo = riutilizzo (0, 1, 2, 3); Stampa \ $ foo == \ $ Hashref -> {zero}? "Condividi la memoria \ n": "Non condividere la memoria \ n"; Utilizzare i dati :: riutilizzo qw (spread); Diffondi il mio% Spread_hash => Undef, QW (Foo Bar Baz); Stampa \ $ spart_hash {foo} == \ $ spart_hash {bar}? "Condividi la memoria \ n": "Non condividere la memoria \ n"; diffondere il mio @spread_array => 1, 0 .. 3; Stampa \ $ Spread_array == \ $ Spread_array ? "Condividi la memoria \ n": "Non condividere la memoria \ n"; Utilizzare i dati :: Riutilizzo QW (Dimentica); dimenticare(); # Memoria gratuita utilizzata per il monitoraggio dei valori costanti Requisiti: · Perl.


Dati :: Riuse Software correlato

metrica

Produce metriche per i programmi C, C ++, JavaScript e Python ...

658

Scarica