Million.js: A Fast, Compiler-Augmented Virtual DOM for Performant JavaScript UI Libraries

02/17/2022
by   Aiden Bai, et al.
0

The need for developing and delivering interactive web applications has grown rapidly. Thus, JavaScript User Interface (UI) libraries were introduced, at the detriment of performance and bundle size. To solve this problem, Million.js was created to allow for the creation of compiler-augmented JavaScript UI libraries that are extensible, performant, and lightweight. This was accomplished by designing a computationally efficient diffing algorithm that relies on a compiler, and then measuring the performance with a series of relevant and exhaustive benchmarks. Additionally, built-in mechanisms are implemented to allow for imperative optimizations, allowing the compiler to directly skip runtime diffing. When compared to other methods of virtual DOM rendering, these findings showed that Million.js had superior performance, with 133 more operations per second than other Virtual DOM libraries.

READ FULL TEXT
research
11/02/2020

Cortex: A Compiler for Recursive Deep Learning Models

Optimizing deep learning models is generally performed in two steps: (i)...
research
03/19/2018

Beyond correct and fast: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...
research
05/21/2018

The sufficiently smart compiler is a theorem prover

That the Haskell Compiler GHC is capable of proving non-trivial equaliti...
research
03/19/2018

A promise checked is a promise kept: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...
research
11/13/2017

Souper: A Synthesizing Superoptimizer

If we can automatically derive compiler optimizations, we might be able ...
research
09/17/2021

CompilerGym: Robust, Performant Compiler Optimization Environments for AI Research

Interest in applying Artificial Intelligence (AI) techniques to compiler...
research
02/22/2020

Modeling the Invariance of Virtual Pointers in LLVM

Devirtualization is a compiler optimization that replaces indirect (virt...

Please sign up or login with your details

Forgot password? Click here to reset