# Is WebAssembly magic performance pixie dust?

**URL:** <https://forum.devtalk.com/t/is-webassembly-magic-performance-pixie-dust/8782>\
**Category:** Blogs/Articles/Talks/Podcasts\
**Tags:** assemblyscript, wasm, in-the-news, performance\
**Created:** [14 April 2021 14:11 UTC](https://forum.devtalk.com/t/is-webassembly-magic-performance-pixie-dust/8782 "2021-04-14T14:11:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![CommunityNews](https://forum.devtalk.com/user_avatar/forum.devtalk.com/communitynews/32/1113_2.png) [@CommunityNews](https://forum.devtalk.com/u/CommunityNews)\
**Post date:** [14 April 2021 14:11 UTC](https://forum.devtalk.com/t/is-webassembly-magic-performance-pixie-dust/8782/1 "2021-04-14T14:11:20Z")

</div>

> Add WebAssembly, get performance. Is that how it really works?
> 
> The incredibly unsatisfying answer is: It depends. It depends on oh-so-many factors, and I’ll be touching on _some_ of them here.
> 
> I really like [AssemblyScript](https://assemblyscript.org/) (full disclosure: I am one of their backers). It’s a very young language with a small but passionate team that built a custom compiler for a TypeScript-like language targeting WebAssembly. The reason I like AssemblyScript (or ASC for short) is because it allows the average web developer to make use of WebAssembly without having to learn a potentially new language like C++ or Rust. It’s important to note that the language is TypeScript-_like_. Don’t expect your existing TypeScript code to just compile out of the box. That being said, the language is intentionally mirroring the behaviors and semantics of TypeScript (and therefore JavaScript), which means that the act of “porting” TypeScript to AssemblyScript are often mostly cosmetic, usually just adding type annotations.
> 
> I always wondered if there is anything to gain from taking a piece of JavaScript, turning it into AssemblyScript and compiling it to WebAssembly. When my colleague [Ingvar](https://twitter.com/rreverser) sent me a [piece of JavaScript](https://github.com/nodeca/glur) code to blur images, I thought that this would be a perfect case study. I ran a quick experiment to see if it’s worth doing a deeper exploration into porting JavaScript to AssemblyScript. And _oh boy_ was it worth it. This article is that deeper exploration.

> **[Is WebAssembly magic performance pixie dust? — surma.dev](https://surma.dev/things/js-to-asc/)**
>
> Add WebAssembly, get performance. Is that how it really works?

_This thread was posted by one of our members via one of our news source trackers._
