The JavaScript companion for faster web applications will gain garbage collection and SIMD support as part of the effort to support more programming languages Credit: Thinkstock If its roadmap holds, WebAssembly, the binary format to speed the performance of web applications on both computers and mobile devices, will improve its language support via garbage collection, threads, better debugging, and a SIMD (single instruction, multiple data) extension. WebAssembly, introduced with great fanfare in 2015, is a low-level format intended to exceed JavaScript’s performance when it comes to executing computationally intensive operations in a browser. WebAssembly provides a binary code format that is smaller over the wire, loads faster, and has better performance than JavaScript. It could prove useful in applications such as web-based CAD programs, 3D models, calculators, and games. New features planned for WebAssembly WebAssembly garbage collection proposed To support use of multiple languages with WebAssembly, garbage collection is needed to efficiently allocate and manipulate managed objects from WebAssembly code, said Deepti Gandluri, a Google Chrome software engineer on the WebAssembly team. Garbage collection currently is in the proposal stage of the WebAssembly roadmap. WebAssembly thread support is coming soon A trial version of threads is due by 2018, with the general release to be launched by July 2018, Gandluri said. The use of threads will simplify the porting of multithreaded applications to the web, and lay the groundwork for faster-running applications. WebAssembly debugging enhancements under development To improve debugging, the WebAssembly developers are working on capabilities for source maps and memory inspection. WebAssembly currently offers basic debugging capabilities. With the planned SIMD extension, WebAssembly will gain support for instructions used in image and video processing and cryptography. Also on the roadmap is “zero-cost” exception-handling for C/C++ to eliminate overhead. WebAssembly will gain more language support A key goal of WebAssembly is enabling code written in languages besides JavaScript to run in the browser. The technology serves as a compile target for other languages. Right now, C++ is the preferred language for use with WebAssembly. It is technically possible now to use other languages with WebAssembly, and there have been experimental implementations to work with the format. However, these languages cannot currently achieve the ideal performance, memory utilization, or DOM integration, said Luke Wagner, a Mozilla engineer on the WebAssembly team. As a result, WebAssembly will likely be enhanced to support languages using higher level garbage collection, such as Java, C#, and Python. But it could take a couple years to accomplish this. How browser vendors support WebAssembly WebAssembly is available for the current versions of all four major browser: Apple Safari, Google Chrome, Microsoft Edge, and Mozilla Firefox. Google has released a 3D library called Draco that uses WebAssembly. Used for compressing and decompressing 3D geometric meshes and clouds, Draco features a WebAssembly decoder for better performance. WebAssembly can be used with JavaScript in applications, with JavaScript used for scripting and WebAssembly for computational performance. WebAssembly JavaScript APIs can load WebAssembly modules into a JavaScript app. Related content analysis Beyond the usual suspects: 5 fresh data science tools to try today The mid-month report includes quick tips for easier Python installation, a new VS Code-like IDE just for Python and R users, and five newer data science tools you won't want to miss. By Serdar Yegulalp Jul 12, 2024 2 mins Python Programming Languages Software Development analysis Generative AI won’t fix cloud migration You’ve probably heard how generative AI will solve all cloud migration problems. It’s not that simple. Generative AI could actually make it harder and more costly. By David Linthicum Jul 12, 2024 5 mins Generative AI Artificial Intelligence Cloud Computing news HR professionals trust AI recommendations HireVue survey finds 73% of HR professionals trust AI to make candidate recommendations, while 75% of workers are opposed to AI making hiring decisions. By Paul Krill Jul 11, 2024 3 mins Technology Industry Careers how-to Safety off: Programming in Rust with `unsafe` What does it mean to write unsafe code in Rust, and what can you do (and not do) with the 'unsafe' keyword? The facts may surprise you. By Serdar Yegulalp Jul 11, 2024 8 mins Rust Programming Languages Software Development Resources Videos