{"id":13455275,"url":"https://github.com/thlorenz/v8-perf","last_synced_at":"2025-05-15T16:01:47.510Z","repository":{"id":17689423,"uuid":"20495349","full_name":"thlorenz/v8-perf","owner":"thlorenz","description":"⏱️ Notes and resources related to v8 and thus Node.js performance","archived":false,"fork":false,"pushed_at":"2022-11-07T12:18:32.000Z","size":13728,"stargazers_count":2250,"open_issues_count":4,"forks_count":112,"subscribers_count":92,"default_branch":"master","last_synced_at":"2025-04-07T21:11:17.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thlorenz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-04T18:43:14.000Z","updated_at":"2025-04-01T18:39:55.000Z","dependencies_parsed_at":"2023-01-11T20:27:07.179Z","dependency_job_id":null,"html_url":"https://github.com/thlorenz/v8-perf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Fv8-perf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Fv8-perf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Fv8-perf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Fv8-perf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thlorenz","download_url":"https://codeload.github.com/thlorenz/v8-perf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374388,"owners_count":22060609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:01:03.298Z","updated_at":"2025-05-15T16:01:47.448Z","avatar_url":"https://github.com/thlorenz.png","language":"JavaScript","readme":"# v8-perf\n\nNotes and resources related to V8 and thus Node.js performance.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [Topics](#topics)\n  - [Data Types](#data-types)\n  - [Compiler](#compiler)\n  - [Language Features](#language-features)\n  - [Garbage Collector](#garbage-collector)\n  - [Memory Profiling](#memory-profiling)\n  - [Inspection and Performance Profiling](#inspection-and-performance-profiling)\n  - [Snapshots and Code Caching](#snapshots-and-code-caching)\n  - [Runtime Functions](#runtime-functions)\n- [V8 source and documentation](#v8-source-and-documentation)\n  - [source](#source)\n  - [source documentation](#source-documentation)\n- [LICENSE](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Topics\n\n### Data Types\n\nThe [data types](data-types.md) document explains what data types V8 uses under the hood to\nstore JavaScript data and how it relates to the performance of your code.\n\n### Compiler\n\nThe [V8 compiler](compiler.md) document outlines the V8 compiler pipeline including the\nIgnition Interpreter and TurboFan optimizing compiler. It explains how information about your\ncode is executed to allow optimizations, how and when deoptimizations occur and how features\nlike the CodeStubAssembler allowed reducing performance bottlenecks found in the [older\npipeline](crankshaft/compiler.md).\n\n### Language Features\n\nThe [language features](language-features.md) document lists JavaScript language features and\nprovides info with regard to their performance mainly to provide assurance that performance of\nmost features is no longer an issue as it was with the previous compiler pipeline.\n\n### Garbage Collector\n\nThe [V8 garbage collector](gc.md) document talks about how memory is organized on the V8 heap,\nhow garbage collection is performed and how it was parallelized as much as possible to avoid\npausing the main thread more than necessary.\n\n### Memory Profiling\n\nThe [memory profiling](memory-profiling.md) document explains how JavaScript objects are\nreferenced to form a tree of nodes which the garbage collector uses to determine _collectable_\nobjects. It also outlines numerous techniques to profile memory leaks and allocations.\n\n### Inspection and Performance Profiling\n\nInside the [inspection](inspection.md) document you will find techniques that allow you to\nprofile your Node.js or web app, how to produce flamegraphs and what flags and tools are\navailable to gain an insight into operations of V8 itself.\n\n### Snapshots and Code Caching\n\n[This document](snapshots+code-caching.md) includes information as to how V8 uses caching\ntechniques in order to avoid recompiling scripts during initialization and thus achieve faster\nstartup times.\n\n### Runtime Functions\n\nThe [runtime functions](runtime-functions.md) document gives a quick intro into C++ functions\naccessible from JavaScript that can be used to provide information of the V8 engine as well as\ndirect it to take a specific action like optimize a function on next call.\n\n## V8 source and documentation\n\nIt's best to dig into the source to confirm assumptions about V8 performance first hand.\n\n### source\n\n- [home of V8 source code](https://code.google.com/p/v8/)\n- [V8 code search](https://source.chromium.org/chromium/chromium/src/+/main:v8/)\n- [V8 source code mirror on github](https://github.com/v8/v8/)\n\n### source documentation\n\nDocumented V8 source code for specific versions of Node.js can be found on the [v8docs\npage](https://v8docs.nodesource.com/).\n\n## LICENSE\n\nMIT\n","funding_links":[],"categories":["Resources","JavaScript","资源","v8"],"sub_categories":["Miscellaneous","杂项"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2Fv8-perf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthlorenz%2Fv8-perf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2Fv8-perf/lists"}