Trad4 è un filo linguaggio di programmazione completamente concorrente, cassetta di sicurezza in grado di scalare linearmente su più core. Il progetto è inizialmente destinata per la distribuzione nel settore finanziario per modellare il rischio in tempo reale.
Trad4 compone di una biblioteca e di un pre-processore. È possibile specificare i vostri oggetti usando una sintassi semplice e si esegue il pre-processore. Trad4 produce una manciata di file C per ogni oggetto, tra cui un file stub - il metodo di calcolo. Questo viene chiamato ogni volta che l'oggetto deve sparare, ed è necessario fornire la logica per. Trad4 estrae tutte le informazioni di tale oggetto deve calcolare sé nel campo di applicazione di questa funzione.
Questi file di origine vengono poi compilati e insieme con libtrad4.so sono collegati in un file eseguibile. Questo poi inizia con un database.
Il cambiamento è poi immessa nel sistema, e trad4 gestire il cambiamento attraverso il grafico e mantiene l'albero aggiornate in tempo reale.
Trad4 è un nuovo modo di organizzare i programmi in memoria e un nuovo stile di flusso di controllo.
Perché utilizzare trad4?
E 'molto facile da usare. Per creare un'applicazione trad4 per modellare il vostro problema è necessario solo una buona conoscenza del problema e la conoscenza di un piccolo sottoinsieme del linguaggio di programmazione C.
E 'molto veloce. Come si decompongono il vostro problema in oggetti separati, questo permette di eseguire più thread diverse parti del tuo problema, allo stesso tempo, in modo da un'applicazione trad4 scale linearmente su più core. Trad4 sé ha molto poco in testa - ci sono pochissime istruzioni tra un oggetto che hanno bisogno di essere eseguito ed è calcolare funzione chiamata.
E 'molto efficiente. Come si interrompe il vostro problema fuori in oggetti separati, è possibile organizzare il grafico in modo tale che ogni singolo calcolo viene fatto solo una volta all'interno dell'applicazione. Altri oggetti che dipendono il risultato di tale calcolo leggerà il risultato di tale oggetto.
E 'molto sicuro. Mentre trad4 fornisce piena concorrenza, è del tutto privo di serratura. Questo significa che dovete mai preoccuparti di condizioni di gara oscure o deadlock.
Trad4 è rilasciato sotto licenza LGPL. Questa è la stessa licenza gcc e glibc uso, e consente di collegare trad4 ad un sistema proprietario e rilasciare sistema proprietario che in qualsiasi licenza che si sceglie.
Cosa c'è di nuovo in questa versione:.
- è stato aggiunto il supporto per le librerie 3a parte
- L'eredità di interfaccia consente ora ereditato tipo di specializzazione.
- Astratto, calcestruzzo, e (se del caso) i grafici di successione sono ora generati per voi in formato di file .dot.
- primo piano in questa release sono un paio di applicazioni di elaborazione del segnale digitale concorrenti:. Additive_synth e il suo fourier_transform inversa
Cosa c'è di nuovo nella versione 3.0 Beta 02:
- La possibilità di passare a opzioni del compilatore (O3 , è stata aggiunta -g) (aggiungere a CXXFLAGS, se necessario).
- Un avviso del compilatore causati da alcuni tipi di strutture è stato corretto.
- Una modalità single-threaded, dove non è stato aggiunto tutto il lavoro il filo master (NUM_THREADS esportazione = 0).
- Il t4 namespace è stato aggiunto per evitare conflitti fra nomi di tipo trad4 con librerie esterne.
- È stata aggiunta la benchmarker.sh sceneggiatura (si veda la sezione di analisi sul sito web principale per i dettagli).
- Trad4 ora compila su piattaforme a 64 bit.
Cosa c'è di nuovo nella versione 3.0 Beta 01:
- Per questa versione il precompilatore è stato riscritto per sostenere nidificato e strutture stand-alone. E 'anche molto migliorata dal punto di vista architettonico.
- Due applicazioni sono incluse in questa distribuzione. Il primo è jpm_cds v1.1, che ha avuto le soluzioni alternative precomp_v2 fissi, ma è il resto immutato. Il secondo è test_app, un'applicazione progettata per esercitare il pre-compilatore, e dimostra come le strutture nidificate funzionano.
- Alcune lavoro resta prima della release 3.0 prevista per la fine di giugno. Ciò include:
- avviso del compilatore Fix su alcune strutture
- convalida Manzo up
- stati oggetto
- Migliorare DEBUG su strutture annidate (forse - questo è difficile)
- Modalità single-threaded
- Possibilità di passare a flag di compilazione (-O3, -g etc)
- Aggiorna tutte le applicazioni per v3
- Il Manuale otterrà un ampio aggiornamento
- Il sito sarà ridisegnato
Cosa c'è di nuovo nella versione 2.0.4:
- Queste modifiche trad4 sono centrati intorno al porting di L'ISDA CDS Modello Standard per trad4, il cui risultato (jpm_cds) è distribuito con questa release.
- È stato aggiunto per typedef e caratteri.
- Il supporto per le strutture è stato esteso.
- numerosi bug che la porta jpm_cds esposti sono stati risolti.
- convalida e la comunicazione sia precompilazione e il tempo di esecuzione è stata migliorata.
Cosa c'è di nuovo nella versione 2.0:
- array di struct native sono state aggiunte alla sezione pub.
- enumerazioni nativi e costanti.
- Le nuove applicazioni sono ora più facili da creare con il create_new_app.sh sceneggiatura.
- Oggetti possono ora iscriversi a più di un oggetto di ogni tipo, e questo ha causato la sintassi sub per cambiare.
- NUM_THREADS è ora esportabile dalla riga di comando.
- Inoltre, sono disponibili varie modifiche relative a correzioni, il codice di pulizia, e la convalida.
Sono stati aggiunti
Cosa c'è di nuovo nella versione 2.0 Beta 02:
- Questa distribuzione contiene due grandi banche dati - uno per ogni applicazione. Questi dovrebbero essere usati per lo stress-test e analisi delle prestazioni. Potete scompattare il file su directory del database esistente. black_scholes_1M.db contiene circa oggetti 1M black_scholes. bond_risk_850k.db contiene circa 850k oggetti bond_risk.
I commenti non trovato