Performance

PSPDFKit for Web Standalone deployment runs completely in the browser. It uses WebAssembly and falls back to plain JavaScript (asm.js) to render PDF files directly on the client. Our Overview page explains the differences in deployment and our FAQ offers a comparison of the benefits of each solution.

Performance Considerations

WebAssembly is intermediate code that needs to be compiled in the browser. We use various advanced techniques to improve performance. See our blog post, Optimizing WebAssembly Startup Time, for more on this. Additionally, you can use our Real-World WebAssembly Benchmark to test the performance of your browser and OS.

Initial loading performance on modern machines is in the range of 3–9 seconds. Once the component is loaded, switching documents is nearly instant. Browsers that support WebAssembly-structured cloning and IndexedDB will only require ~0.5 seconds for subsequent reloads.

In 2017, all browsers started supporting WebAssembly (see WebAssembly: A New Hope), and 2018 is where it’s going to be really fast.

Firefox’s new streaming and tiering compiler helps decrease even the initial loading time to around half of what other browsers require.

Update 20 August 2018: Google released Liftoff: a new baseline compiler for WebAssembly in V8. The blog post includes specific benchmarks for PSPDFKit, showing a 56%+ faster initialization time.

PSPDFKit is committed to being at the forefront of this innovative technology, and our goal is to make standalone deployment as fast as server-based deployment.