Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Parts
softdevteamuk2 HN recommenders · recommended in 2 months, 2016-2019
5K views · 10 years ago · talk · dated
Chris Seaton talks about JRuby+Truffle, explaining how the Truffle and Graal combination optimises the tricky parts of Ruby and why it outperforms other Ruby implementations.
HN recommends it for specifics on how Truffle and Graal achieve strong dynamic-language performance.
50:11Twitter’s Quest for a Wholly Graal Runtime by Chris Thalinger
Scala Days Conferences
3K views • 8 years ago
1:01:37Compiling and Optimizing Scripting Languages
Google TechTalks
21K views • 17 years ago
1:21:39Making R run Fast - Jan Vitek
John O'Neill
860 views • 10 years ago
47:51Brandt Bucher – A JIT Compiler for CPython
encukou
14K views • 2 years ago
1:14:32Building Your Own Dynamic Language
Stanford
21K views • 18 years ago
47:34RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"
O'Reilly
26K views • 15 years ago
40:50JVMLS 2015 - Java Goes AOT
Java
8K views • 11 years ago
13:45A 10x faster TypeScript
Microsoft Developer
608K views • 1 year ago
1:15:09Cliff Click @ VMSS16: Bits of Advice For the VM Writer
softdevteamuk
4K views • 10 years ago
1:12:02Java on a 1000 Cores - Tales of Hardware / Software CoDesign
Google TechTalks
23K views • 17 years ago
1:32:47Data-Oriented Demo: SOA, composition
Jonathan Blow
201K views • 11 years ago
2:07:18Demo: Base language, compile-time execution
Jonathan Blow
164K views • 12 years ago
59:11How to Speed up a Python Program 114,000 times.
InfoQ
171K views • 13 years ago
52:38A JVM Does That?
Google TechTalks
80K views • 15 years ago
1:24:39Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)
Developer Voices
64K views • 2 years ago
42:44Armin Ronacher - A Python for Future Generations
EuroPython Conference
6K views • 9 years ago
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
CppNow
34K views • 13 years ago
1:00:40Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Hydra
47K views • 7 years ago
47:52Parsing JSON Really Quickly: Lessons Learned
InfoQ
86K views • 6 years ago
30:37High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18
Dyalog User Meetings
6K views • 7 years ago
3 comments from Hacker News
> I understand that a JIT engine cant do this, due to speed. Most serious JIT engines do! For example V8, LuaJIT, Graal, C2. > But would be surprised that a LLVM compiler with a custom-designed heuristic for specific optimizations cant manage this. Rubinius for example tried writing custom optimisations like you're describing and didn't get very far. LLVM is not designed for these kind of optimisations - it understands memory reads and writes, not high-level semantic information about arrays and objects. In practice, it just doesn't seem to work. As I say I think it's a bare minimum for making a dynamic language genuinely fast. I gave a lecture about this ▶ this video .
I hear the Truffle+Graal combination is getting very good results about Ruby. Here is video about it (pointed to the missing-method example): [1] They're hitting 35x in some benchmarks [2]. Most benefits being in workloads where Ruby has to continuously talk to C; the result-passing part gets compiled away. It is available in Java 9, if I'm not mistaken. LLVM IR bytecode ingestion is in preparations too [3]. [1] ▶ this video [2] link [3] link
Chris Seaton gave this talk recently about JRuby+Truffle and some specifics about how it optimises so well compared to other Ruby implementations. ▶ this video Previous discussion link