- Learn WebAssembly
- Mike Rourke
- 246字
- 2021-08-13 15:38:50
No garbage collection
WebAssembly supports a flat linear memory, which isn't a limitation per se, but requires some understanding of how to explicitly allocate memory to execute code. C and C++ were logical choices for the MVP because memory management is built into the language. The reason why some of the more popular high-level languages such as Java weren't included initially is due to something called garbage collection (GC).
GC is a form of automated memory management wherein memory occupied by objects that are no longer in use by the program is reclaimed automatically. GC is analogous to an automatic transmission on a car. It has been heavily optimized by skilled engineers to operate as efficiently as possible, but limits the amount of control the driver has. Manually allocating memory is like driving a car with a manual transmission. It affords greater control over speed and torque, but misuse or lack of experience can leave you stranded with a severely damaged car. Part of C and C++'s excellent performance and speed can be attributed to the manual allocation of memory.
GC languages allow you to program without having to worry about memory availability or allocation. JavaScript is an example of a GC language. The browser engine employs something called a mark-and-sweep algorithm to collect unreachable objects and free up the corresponding memory. Support for GC languages is currently being worked on in WebAssembly, but it's hard to say exactly when it will be completed.
- Oracle WebLogic Server 12c:First Look
- Learning Cython Programming
- VSTO開發入門教程
- OpenNI Cookbook
- 薛定宇教授大講堂(卷Ⅳ):MATLAB最優化計算
- Mastering Unity Shaders and Effects
- Learning Neo4j 3.x(Second Edition)
- C++面向對象程序設計習題解答與上機指導(第三版)
- Access 2010數據庫應用技術(第2版)
- 零代碼實戰:企業級應用搭建與案例詳解
- ASP.NET 4.0 Web程序設計
- Building Business Websites with Squarespace 7(Second Edition)
- 邊玩邊學Scratch3.0少兒趣味編程
- Getting Started with Windows Server Security
- ReactJS Blueprints