Ho iniziato a leggere sul linguaggio di programmazione Elixir.L'elisir ha un garbage collector?
ho capito che:
- è funzionale
- E 'dinamico, ma il supporto @spec
- Si basa su Erlang VM
La mia domanda è: Ha un una specie di GC?
Ho iniziato a leggere sul linguaggio di programmazione Elixir.L'elisir ha un garbage collector?
ho capito che:
La mia domanda è: Ha un una specie di GC?
Sì, Erlang ha GC e, poiché Elixir è costruito su Erlang, anche GC. Vedi questo vecchio SO answer su Erlang GC e this uno. Il sito elisir riferisce a GC come segue:
Grazie alla loro leggerezza, non è raro avere centinaia di migliaia di processi in esecuzione contemporaneamente nella stessa macchina. L'isolamento consente ai processi di essere sottoposti a garbage collection in modo indipendente, riducendo le pause a livello di sistema e utilizzando tutte le risorse macchina come nel modo più efficiente possibile (ridimensionamento verticale).
anche in elixir è possibile visualizzare la spazzatura mentre viene raccolta se si avvia: observer.start() e si guardano i grafici mentre il programma è in esecuzione. – GavinBrelstaff
Fantastico! non lo sapevo, grazie! –
Nota a margine: '@ spec's sono ** annotazioni **, non sono comprese dal compilatore Elixir (o da Erlang). Vengono utilizzati principalmente da un analizzatore statico chiamato [dializzatore] (http://www.erlang.org/doc/man/dialyzer.html). – whatyouhide
per esempio ... se ottieni una lista di stringhe dalla rete e poi la consumo in una pura funzione cosa succede quando la funzione ritorna? Questa lista viene distrutta immediatamente o viene distrutta da una specie di GC? –