Chicago Boss sembra un quadro pulito e una buona scusa per imparare Erlang.qualcuno là fuori usando Chicago Boss?
Qualcuno di voi l'ha usato? Posso davvero ottenere ottime prestazioni ospitando su una singola macchina?
Chicago Boss sembra un quadro pulito e una buona scusa per imparare Erlang.qualcuno là fuori usando Chicago Boss?
Qualcuno di voi l'ha usato? Posso davvero ottenere ottime prestazioni ospitando su una singola macchina?
Non posso parlare specificamente per le prestazioni di Chicago Boss, ma i server Web di Erlang sono generalmente molto veloci.
Sono anche molto buone per più connessioni simultanee, a causa della concorrenza di primitive di Erlang. So che Chicago Boss non usa Yaws, ma qui c'è un grafico Apache vs. Yaws, solo per riferimento.
D'accordo, C è più veloce in molti casi, ma qualsiasi velocità guadagnerai da C durante l'elaborazione, perderai quando avrai più utenti. Pensa in questo modo:
Generalmente Erlang è circa 4-5 volte più lento di fare la stessa cosa in C, anche se ciò che perde in velocità, guadagna in efficienza, semplicità e stabilità. Facendo le cose su cui Erlang eccelle, penso che si trovi intorno a 2-3 volte di C. Può anche essere compilato in binari nativi per accelerare di circa il 20% in più.
Basta sapere che ci sono tonnellate di cose comuni a cui Erlang non è bravo, come la manipolazione delle stringhe e il numero di crunch. Erlang è stato creato per la distribuzione (nella maggior parte dei sensi della parola), quindi è fantastico.
Oh, e sull'ottima prestazione su una singola macchina: non più della metà di quello che farebbe un'app di C. Ma poi di nuovo, è probabilmente ancora 30-40 volte più veloce dell'equivalente in ruby, php o python.
Allora, a cosa serve Erlang? Inoltre, Erlang non si occupa di un sacco di cose che devi gestire manualmente in C (come la raccolta dei rifiuti)? – user94154
Sì, questo è ciò che intendo con efficienza, semplicità e stabilità. Fondamentalmente ciò che prende 10 linee di codice in Erlang richiede 100 in C. E la gestione degli errori in Erlang è estremamente semplice, così come la generazione di nuovi processi. Queste cose richiedono molto tempo di sviluppo in C. Ed Erlang ha un tempo di attività del 99,99999999% nelle app di vita reale, semplicemente perché è progettato per fallire senza crash, perché doveva essere usato nelle telecomunicazioni e cose del genere. E puoi aggiornare la tua app mentre è in esecuzione, il che è molto raro. –
Oh, e sulla raccolta dei rifiuti ... non esiste una cosa del genere. Erlang non ha uno stato, è un linguaggio funzionale. Le variabili possono essere impostate una sola volta, quindi un overflow di memoria non può avvenire (a meno che non si esegua un brusco tiraggio, o lo faccia apposta). –
In realtà ho trovato il creatore di Chicago Boss qui l'altro giorno. Sorpreso che non ti abbia ancora commentato. – samoz
Strano come due anni dopo questo sia improvvisamente "fuori tema". Le risposte qui sono piuttosto utili anche se la domanda non è inquadrata correttamente. Posso modificare per rimuovere la bandiera? – user94154