GithubHelp home page GithubHelp logo

v8-perf's Introduction

v8-perf

become a patron

Notes and resources related to V8 and thus Node.js performance.

Table of Contents generated with DocToc

Topics

Data Types

The data types document explains what data types V8 uses under the hood to store JavaScript data and how it relates to the performance of your code.

Compiler

The V8 compiler document outlines the V8 compiler pipeline including the Ignition Interpreter and TurboFan optimizing compiler. It explains how information about your code is executed to allow optimizations, how and when deoptimizations occur and how features like the CodeStubAssembler allowed reducing performance bottlenecks found in the older pipeline.

Language Features

The language features document lists JavaScript language features and provides info with regard to their performance mainly to provide assurance that performance of most features is no longer an issue as it was with the previous compiler pipeline.

Garbage Collector

The V8 garbage collector document talks about how memory is organized on the V8 heap, how garbage collection is performed and how it was parallelized as much as possible to avoid pausing the main thread more than necessary.

Memory Profiling

The memory profiling document explains how JavaScript objects are referenced to form a tree of nodes which the garbage collector uses to determine collectable objects. It also outlines numerous techniques to profile memory leaks and allocations.

Inspection and Performance Profiling

Inside the inspection document you will find techniques that allow you to profile your Node.js or web app, how to produce flamegraphs and what flags and tools are available to gain an insight into operations of V8 itself.

Snapshots and Code Caching

This document includes information as to how V8 uses caching techniques in order to avoid recompiling scripts during initialization and thus achieve faster startup times.

Runtime Functions

The runtime functions document gives a quick intro into C++ functions accessible from JavaScript that can be used to provide information of the V8 engine as well as direct it to take a specific action like optimize a function on next call.

V8 source and documentation

It's best to dig into the source to confirm assumptions about V8 performance first hand.

source

source documentation

Documented V8 source code for specific versions of Node.js can be found on the v8docs page.

LICENSE

MIT

v8-perf's People

Contributors

mathiasbynens avatar thlorenz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.