InfoQ Homepage Compilers Content on InfoQ
-
MLGO Framework Brings Machine Learning in Compiler Optimizations
Google’s new Machine Learning Guided Optimization (MLGO) is an industrial-grade general framework for integrating machine-learning (ML) techniques systematically in a compiler and in particular in LLVM. Compiling faster and smaller code can significantly reduce the operational cost of large data-center applications.
-
Mold is a New Linux Linker Aiming to Outperform Lld
Mold, a modern drop-in replacement for current Unix linkers, has reached version 1.0. Written by the original creator of the LLVM lld linker, mold aims to be several times faster than its predecessor.
-
JetBrains Debuts New Kotlin Compiler K2, Kotlin for WebAssembly, and More
At its recent Kotlin 2021 Premier event, JetBrains made a number of major announcements, including K2, the new, faster Kotlin compiler, support for WebAssembly, the Kotlin Symbol Processor, a new code coverage plugin, and improved static analysis.
-
Streamlining the Handoff between Designers and Developers - Travis Arnold at React Finland 2021
Travis Arnold recently presented how JSX and compiler technologies can be used conjointly to make the handoff between designers and developers more efficient. While the ideas presented are not yet implemented in any publicly available tool or library, the ideas of Arnold, who describes himself as a designer/developer, may serve to illustrate possible avenues for improved collaboration.
-
V8 Gets a Non-Optimizing Compiler Stage to Improve Performance
The latest version of the JavaScript V8 engine, V8 9.1, introduces a new intermediate compiler stage, called Sparkplug, that improves performance on real-world benchmarks by 5-15%, says V8 engineer Leszek Swirski. It will be available in the upcoming Chrome 91.
-
REPLicant, a Super Simple Svelte REPL - Peter Allen at Svelte Summit 2020
Peter Allen recently gave a talk at Svelte Summit 2020 in which he explained the benefits of REPL (Read-Print-Eval-Loop) playgrounds. While the Svelte REPL is complex due to the handling of many edge cases, the principles underlying code playground implementations are simple. Allen progressively led the viewer into the implementation of the simplest possible version of the Svelte REPL.
-
MDsveX - Adding Interactivity with Svelte Components in Markdown
The mdsvex npm package was recently entirely rewritten to allow Svelte developers to have Markdown content inside a Svelte component and also use Svelte components inside Markdown. Like Gatsby with MDX/React, mdsvex allows developers to mix Markdown and Svelte components to generate interactive content.
-
WebAssembly Used by Java-to-Web Compiler CheerpJ 2.0 to Port Java Applications to Browsers
LeaningTech recently released the second major iteration of CheerpJ. CheerpJ 2.0 may convert Java applications into a mix of HTML, WebAssembly and JavaScript, so that developers can run Java applications (including applets) in browsers or integrate Java libraries into web applications. CheerpJ 2.0 uses WebAssembly to improve runtime speed.
-
Ionic's Stencil Component Compiler Design Considerations -- Adam Bradley at DotJS2019
Adam Bradley, creator of StencilJS and co-creator of Ionic Framework, reviewed at dotjs2019 the design and architecture that went into Stencil, a component compiler which generates framework agnostic components.
-
Babel 7.7 Released with Improved TypeScript Support, Top-Level Await and More
The recently released Babel 7.7 now parses top-level await, Flow enum declarations (Flow proposal), and proposes recovery options from certain syntax errors. Babel 7.7 now supports TypeScript 3.7. Babel also introduces a new optional babel.config.json configuration files, and miscellaneous other features and bug fixes.
-
Sucrase, a Faster Babel for Modern JS Runtimes
The Sucrase JavaScript/TypeScript compiler aims at providing significantly faster development builds than the Babel compiler. Faster builds mean faster iterations, specially when testing on a large codebase. Some empirical measures show a gain in speed between 4x and 20x vs. Babel. Developers may thus enjoy the improved developer experience in development, and still resort to Babel in production.
-
Writing Web Applications in Java - a Study of Alternatives
Developers familiar with the Java Virtual Machine languages and who want to develop web applications without the difficulties of a JavaScript development stack, have an increasing array of alternatives to JavaScript to choose from. The performance penalty vs. native JavaScript web applications is shrinking.
-
J2CL: A Java-to-JavaScript Transpiler
J2CL is a source-to-source compiler that converts Java to Javascript. It attempts to solve a different problem than similar Java-to-Javascript frameworks such as GWT. Likewise, J2CL is not meant to compete with or replace existing JavaScript frameworks; J2CL is about interoperability and cross-platform code reuse.
-
Svelte 3 Front-End Framework Moves Reactivity into the JavaScript Language, Q&A with Rich Harris
The recently released front-end framework Svelte 3 introduces a new syntax to express reactivity in JavaScript. InfoQ interviewed Rich Harris, Svelte creator, and discussed what Svelte 3 means and its implications for developers.
-
.NET Core Completes Move to RyuJIT
The .NET Core CLR team has announced that their next-generation just-in-time compiler RyuJIT is now completely powering the .NET Core platform. This change makes four architectures available (x86, x64, ARM32, and ARM64) to .NET Core developers. Furthermore, all will benefit from a fast modern compiler design.