Ten Times Faster After Rewriting the TypeScript Engine in Go

 The TypeScript team has tried several times to rewrite the original JavaScript engine in a different programming language, but so far these attempts have not produced the desired results. Recently, however, they announced a breakthrough by rewriting it in Go.

The rewrite was long needed because JavaScript cannot natively support multithreading, so TypeScript could not take full advantage of modern processors. The main goal of the rewrite was to increase efficiency. The results so far show that some functions are ten times, and in some cases even fifteen times, faster. These functions include loading in various IDEs, type checking, error checking, and code generation. These improvements help shorten the development cycle, work more efficiently, and bring products to market faster.

Choosing the language best suited to the task also contributed to the success of the rewrite. Several languages could have supported native parallelization; for example, the use of Rust was considered. In fact, the team was criticized for not choosing Rust. The team agreed that rewriting in Rust could also have been efficient, but Go’s structure is very similar to TypeScript’s, which made the rewrite easier. In contrast, using Rust could have caused difficulties.

The new version is still in development. However, a beta version is expected to be available sometime in the second half of the year, and the final version is planned for release with TypeScript 7.0. Development work will continue, as the rewrite is not yet complete and work on the JavaScript engine will go on for a while. However, users will not need to take any special preparations for the switch. 

Share this post
A new era in software development
Over the past few decades, software development has fundamentally shaped our digital world, but the latest technological breakthroughs are ushering in a new era in which computer programming is undergoing a radical transformation. According to Andrej Karpathy, former director of artificial intelligence at Tesla, software development has accelerated dramatically in recent years after decades of slow change, fundamentally rewriting our understanding of programming.
Google Cloud Run Adds GPU Support for AI and Batch Workloads
Google Cloud has officially launched general availability of NVIDIA GPU support for Cloud Run, marking a major step forward in its serverless platform. This update aims to give developers a cost-effective, scalable solution for GPU-powered tasks, especially those involving AI inference and batch processing. It addresses the rising need for accessible, production-ready GPU resources in the cloud—while preserving the key features that have made Cloud Run popular with developers.
Gemini Advanced Strengthens GitHub Integration
There is no shortage of innovation in the world of AI-based development tools. Google has now announced direct GitHub integration for its premium AI assistant, Gemini Advanced. This move is not only a response to similar developments by its competitor OpenAI, but also a significant step forward in improving developer workflows.
Babylon.js 8.0 Has Arrived
After a year of intense development, Microsoft has finally unveiled Babylon.js version 8.0. This new release brings several advanced features that enable faster, more visually appealing, and interactive web experiences. IBL shadows create more realistic environment lighting, while area lights allow for simple yet effective 2D lighting effects. In addition, the Node Render Graph—introduced in its alpha stage—gives developers full control over the rendering process, and the new Lightweight Viewer and WGSL Core Engine shaders help reduce development time and boost performance.
Go 1.24 new features
The latest version, Go 1.24, is now available, bringing a range of useful new features for Go developers. On one hand, language tools have been further improved, with a more efficient implementation replacing the previous Map implementation. On the other hand, memory management has been enhanced thanks to the introduction of weak references and an improved memory allocator.
Rust 1.85.0 arrives amidst Linux kernel drama
Rust 1.85 is a new update in the 2024 release that further enhances memory safety and concurrency models, aiming to provide a better and more reliable tool for developing performance-critical systems. However, Rust adoption has faced the greatest challenges precisely where it has the most legitimacy: in Linux kernel development.

Linux distribution updates released in the last few days