Introducing cling, a C++ Interpreter Based on clang/LLVM
Sign in to YouTube
Sign in to YouTube
Sign in to YouTube
Published on Jul 4, 2012
Google Tech Talk
March 15, 2012
Presented by Axel Naumann, CERN.
At CERN, 50 million lines of C++ code are being used by about 10 thousand physicist. Many of them are not programming experts. To make writing C++ more accessible, ROOT (http://root.cern.ch), one of the core tools at CERN, has been using the CINT C++ interpreter for more than 15 years. CINT also opens up a whole new world of dynamic programming: plug-ins, signal/slot, runtime evaluation, reflection. In particular, the latter is fundamental to CERN and its petabytes of Large Hadron Collider data per year, which are created, serialized, and analyzed as C++ objects.
Given the complexity of writing C++, Python is widely used to interface and steer C++ components. Using a SWIG-like approach to interfacing C++ and Python does not scale to CERN's context. I will present our completely dynamic, bidirectional alternative which leverages the CINT and Python reflection data.
Based on our experience, we (a collaboration between CERN and Fermilab, US) have decided to replace CINT with a new interpreter: cling (http://cern.ch/cling). It is built on top of clang (http://clang.llvm.org) and LLVM (http://llvm.org). This gives us just-in-time compilation, a high-quality front-end and compiler-grade reflection data. I will present how we built an interpreter out of compiler libraries.
Speaker Info: Axel is a physicist by education. After stopovers in Germany, The Netherlands (NIKHEF) and the US (Fermilab) he became scientist at CERN in 2005. As a member of the ROOT (http://root.cern.ch) team, Axel is responsible for interpreters and reflection. He is involved in many other areas like algorithms and data structures, bringing software to current architectures (multi-code, vectorization) and software quality assurance. He recently became CERN's representative to the ISO C++ Standards Committee.
Standard YouTube License
- 26:45 David Starkey on Queen Elizabeth Iby AllanGreggFeatured 15,570
- 1:29:54 Think faster focus better and remember moreRewiring our brain to stay younger...by GoogleTechTalks 400,705 views
- 51:58 Life of a C++ Standardby GoogleTechTalks 10,535 views
- 1:10:02 Building Software at Google Scale Tech Talkby GoogleTechTalks 19,777 views
- 49:55 The Economics of Interaction: How We Can Use Microeconomics to Describe System Interactionby GoogleTechTalks 4,772 views
- 0:51 Clang compiles C++ as you edit in Sublime Text 2by Don Williamson 11,065 views
- 56:56 Jack Kornfield: The Ancient Heart of Forgivenessby greatergoodscience 38,758 views
- 48:32 Tom LaTourrette: Nuclear Energy After Fukushimaby GoogleTechTalks 5,394 views
- 4:42 My advice to young people - Donald Knuth [video]by webofstories 69,042 views
- 54:57 C++ Stylisticsby GoogleTechTalks 53,668 views
- 1:09:03 Let's Go Further: Build Concurrent Software using the Go Programming Languageby GoogleTechTalks 20,530 views
- 59:41 The Art of Living Every Minute of Your Lifeby UCtelevision 93,944 views
- 2:09:34 CERN Higgs Boson Discovery Seminar/Lectureby Muon Ray 54,544 views
- 2:14 LLVMLlinux - Linux Kernel built with clang - booting into desktop !by Jan-Simon Möller 3,051 views
- 4:39 Confirmed: CERN discovers new particle likely to be the Higgs bosonby RussiaToday 131,340 views
- 17:52 Why Should I Code in C?by OreillyMedia 13,143 views
- 2:43 Bjarne Stroustrup: How to Code Like Bjarne Stroustrupby bigthink 62,056 views
- 53:08 Modeling Noisy Data : Towards a Generic Framework Coupling Morse Theory and Persistence Theoryby GoogleTechTalks 4,660 views
- 1:15:59 LLVM 2.0by GoogleTechTalks 25,070 views
- 1:20:24 Multipath TCPby GoogleTechTalks 12,836 views
- Loading more suggestions...