InfoQ Homepage Compilers Content on InfoQ
-
Rich Hickey on Clojure's Features and Implementation
In this interview from QCon London 2009, Rich Hickey talks about Clojure. The discussion includes the ideas behind Clojure's STM support, what other concurrency primitives Clojure supports and which ones might get added in the future. Other topics covered are Clojure's AOT support, the role and implementation of multimethods, Clojure ports to other systems and much more.
-
Performance Roundup: Heap Stacks Boost Threads in 1.8.x, MacRuby AOT, ZenProfile and EventHooks
New patches by Joe Damato improve the efficiency of Ruby 1.8.x's green threads with heap stacks: instead of copying the entire stack at every context switch, the patches actually switch between different stacks. Ryan Davis released zenprofile and event_hook for efficient profiling. Also: work on a MacRuby Ahead of Time compiler using LLVM has started.
-
Microsoft Has Open Sourced the Common Compiler Infrastructure
Microsoft Research has open sourced the Common Compiler Infrastructure: Metadata (CCI) and CCI: Code and AST projects containing a set of libraries used by compilers and other programming tools to manipulate metadata in CLR assemblies and debug files. The CCI: Metadata components subsume System.Reflection while CCI: Code and AST subsumes System.CodeDom.
-
Jeff Moser's How .NET Regular Expressions Really Work
Did you know the last 15 regular expressions are cached? Or that the .NET engine uses a form of machine code? You can learn this and more from Jeff Moser's in-depth study of how regular expressions work in .NET.
-
C# 4.0 "Fixes" Deadlock Issue
C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.
-
Presentation: Ruby.rewrite(Ruby)
In this RubyFringe talk, Reginald Braithwaite shows how to write Ruby that reads, writes, and rewrites Ruby. The demos include extending the Ruby language with conditional expressions, new forms of evaluation such as call-by-name and call-by-need, and more.
-
RubyConf'08 Videos: Ruby VMs: Internals of YARV, Rubinius, MagLev
The videos from RubyConf '08 are available. We looked at the Ruby VM talks. Sasada Koichi, creator of the Ruby 1.9 VM, talks about the state of the VM, experiments with Ruby to C AOT, Ricsin and more. Evan Phoenix talks about the state of the Rubinius C++ VM. A detailed talk shows how MagLev is implemented. Also: MacRuby, JRuby, IronRuby, VM optimizations, RubySpec.
-
GWT 1.5: Java 5 Support, Performance Improvements and JavaScript Enhancements
Google Web Toolkit (GWT), a Java-centric compiler which creates JavaScript-based web applications, released version 1.5 today. InfoQ spoke with tech lead Bruce Johnson to learn more about this release and what new capabilities it adds to GWT.
-
Article: Exploring LISP on the JVM
This article, written by Per Jacobsson, is aimed at Java developers curious about Lisp. It discusses the different dialects of Lisp that are available on the JVM today, and gives a crash course in how Lisp programming works and what makes it unique. Finally it looks at how Lisp code can be integrated with a Java system.
-
Presentation: Building Large AJAX Applications with GWT 1.4 and Google Gears
In this presentation from QCon San Francisco 2007, Rajeev Dayal discusses building applications with GWT and Google Gears. Topics discussed include an overview of GWT, integrating GWT with other frameworks, GWT 1.4 features, developing large GWT applications, integrating GWT and Google Gears, the architecture of a Google Gears application, Google Gears features and the Google Gears API.
-
Excelsior JET 6.4: Smaller, Faster, More Secure Java
Since the beginning of time Java applications have been battered with complaints about startup time, memory footprint, performance and security. Recently Sun started to address some of the issues by introducing the Consumer JRE. However, Excelsior JET is a product which provides their own spin on solving these problems.
-
An Explanation of the Phoenix Compiler Framework
Andy Ayers, an architect on the Phoenix Framework, tries to explain what the Phoenix Compiler Framework is and how it works in a video made by Channel9.
-
Java 6 Hotspot Performance
Sun Microsystem's Kohsuke Kawaguchi examines the assembly code that the Hotspot JIT produces in JDK6.
-
JRuby 1.1 released with major performance improvements
JRuby 1.1 has been released, bringing massive performance increases due to the new JIT, a new Regex engine and other improvements. InfoQ talked to Ola Bini and Charles Nutter about the changes in the new release and the future directions of the project.
-
HotRuby - Ruby 1.9/YARV opcode interpreter in Javascript
HotRuby is a new way of running Ruby code: compile it down to Ruby 1.9 bytecode and run it in a client side interpreter written in Javascript. We take a look at what makes HotRuby work.