Ho appena scoperto Ra dai repository di Ubuntu. Qualcuno l'ha usato in progetti reali? Hai riscontrato problemi e ci sono dei compromessi nell'usare Ra invece di R o JIT in generale?JIT del codice R utilizzando Ra
risposta
Bene, mi piace. Ma poi è in Ubuntu ... perché ho creato il pacchetto Debian in primo luogo. E presento Ra e jit nei miei tutorial "Intro to High Performance Computing with R" (il prossimo martedì allo useR! 2010).
Ma purtroppo, Steven non ha mai ricevuto il feedback che aveva anticipato e ha smesso di aggiornare Ra. La versione più recente è R 2.9. *, Vale a dire da un anno fa. Ciò varrebbe la pena di rimanere in vita, ma alcune persone (con conoscenze altamente specializzate) avrebbero bisogno di apparire sulla scena per aiutare ...
Grazie per l'imballaggio e per la risposta. Ho dato un'occhiata alle tue diapositive e sembra decisamente interessante. Speriamo che troverà aiuto e continuerà a mantenerlo. –
Luke Tierney sta lavorando su alcuni miglioramenti all'interprete R che potrebbero aprire la strada a cose come JIT nella distribuzione principale di R? – Sharpie
Sì, lo è. Ma lui è stato nella maggior parte degli ultimi dieci anni e non si sa mai degli ETA. Anche lui è stato in contatto con Steve. Ad ogni modo, Luca parlerà ad uso! la settimana prossima e ne menziono un po '. Ma questo in genere non è materiale per trattenere il respiro. –
Da quando è stata posta questa domanda è stato introdotto il pacchetto di {compilatore} R. Ho scritto un post che descrive ciò che ho trovato fino a questo punto per quanto riguarda l'uso di JIT e R:
http://www.r-statistics.com/2012/04/speed-up-your-r-code-using-a-just-in-time-jit-compiler/
Il post descrive alcuni progressi dal momento che ciò che Dirk ha scritto nella sua risposta (molti dei link nel post sono in realtà agli articoli più recenti di Dirk su questo argomento)
Spero che questo possa aiutare i futuri R a cercare su questo argomento.
- 1. Possibili carenze nell'utilizzo di JIT con R?
- 2. Perché il codice JIT della cache JIT non è compilato?
- 3. Collegamento del codice JIT LLVM alle librerie statiche LLVM?
- 4. Chiama il codice Python da LLVM JIT
- 5. Codice JIT .NET Cache che perde?
- 6. Distanza segmento inter utilizzando numba jit, Python
- 7. Strumentazione del codice C/C++ utilizzando LLVM
- 8. formato all'interno del codice R pezzo
- 9. Come il codice Java "duplicato" è ottimizzato dal compilatore JIT JIT?
- 10. JIT vs interpreti
- 11. Compilatori JIT per matematica
- 12. Evitare l'overhead CIT JIT
- 13. Come viene iniettato il codice JIT in memoria ed eseguito?
- 14. SICStus Prolog Compilatore JIT
- 15. Condivisione di un puntatore C++ con codice JIT LLVM
- 16. Dispositivi Android senza JIT
- 17. Inserimento del logo nella presentazione del proiettore utilizzando R Markdown
- 18. Output del codice HTML dall'interno del contrassegno R
- 19. Errore potenziale JIT .NET?
- 20. CLR vs JIT
- 21. MIPS - Confusione JAL: $ ra = PC + 4 o PC + 8?
- 22. Codice R refactoring tramite ESS/R
- 23. Do not Both Gli interpreti abilitati JIT e non JIT producono in modo definitivo il codice macchina
- 24. Java: metodo JIT inlining
- 25. Forcing JIT aggressivo
- 26. Conversione del codice `caso quando ...` di SQL utilizzando il pacchetto data.table in R
- 27. Problema con il caricamento del codice c compilato in R x64 utilizzando dyn.load
- 28. Ottimizzazione IL per compilatori JIT
- 29. come saltare un ciclo durante il debug del codice R
- 30. R Errore utilizzando readHTMLTable
Oh, bello. D'altra parte, incoraggia l'uso della programmazione non vettorizzata, che in qualche modo sconfigge lo scopo di gran parte del design di R! – Harlan
Non è nemmeno un vero JIT, piuttosto un interprete più veloce. IMO è più bello inserire il codice C, quindi i risultati sono molto più prevedibili. – mbq
È ancora più lento del codice vettoriale, quindi non credo che incoraggi l'uso di loop. E in alcuni problemi hai solo bisogno di usare un ciclo. –