学习
实践
活动
专区
工具
TVP
写文章

theanarkh

LV1
举报
发表了文章

Node.js C++ 层的任务管理

我们都知道 Node.js 是基于事件循环来运行的,本质上是一个生产者 / 消费者模型,所以就少不了任务的管理机制,不过本文不是介绍事件循环中的任务管理,而是 ...

theanarkh
Node.jsJavaScript
发表了文章

如何写一个 JS 运行时

前言:随着 Node.js 的出现和不断发展,其他新的 JS 运行时也穷出不断,Deno、Just、Bun等等。本文简单介绍一下如何写一个 JS 运行时,相比操...

theanarkh
APIJavaScriptLinuxGitHubhttps
发表了文章

如何实现 JS 运行时的 Inspector 能力

前言:无论什么语言,调试能力都是非常重要的,像 C、C++ 等语言,我们可以使用现成的工具去调试。JS 也不例外,我们可以通过浏览器来实现对 JS 的调试,但是...

theanarkh
UDPNode.jsJavaScript
发表了文章

聊聊 JS 断点的实现

前言:断点的实现非常复杂,这里并不是说要长篇大论讲解 JS 断点在 V8 中是如何实现的,而是想从宏观上聊一下断点的实现。这个问题来源于最近和同事讨论的关于 V...

theanarkh
Node.jsJavaScript编程算法HTTP
发表了文章

利用多线程和 C++ 实现一个简单的 HTTP 服务器

前言:服务器是现代软件不可或缺的一部分,而服务器的技术也是非常复杂和有趣的方向。随着操作系统不断地发展,服务器的底层架构也在不断变化。本文介绍一种使用 C++ ...

theanarkh
HTTPNode.jsJavaScript编程算法
发表了文章

V8 GC 的实现

前言:GC 是一个古老、复杂并且很 Cool 的技术,本文大概介绍一下早期 V8 中关于 GC 实现的部分,代码版本 0.1.5,早期版本利于快速理解整体的逻辑...

theanarkh
数据结构编程算法
发表了文章

如何追踪 JS 对象是否被 GC

前言:在自带垃圾回收的语言中,开发者往往不需要过多地关注内存管理。但是不代表我们可以完全忽略它。因为语言引擎的垃圾回收是有一定的判断规则的,如果我们的变量所引用...

theanarkh
Node.jsJavaScript编程算法
发表了文章

Node.js 子线程 crash 问题的排查

前言:昨天碰到了一个 worker_threads crash 的问题,最终经过阅读源码和调试找到了具体原因。不得不说,阅读源码是解决问题的非常有效的方法。

theanarkh
编程算法
发表了文章

如何把 Node.js 嵌入自己的项目中

Node.js 不仅可以单独运行,还可以以库的方式被使用,本文介绍下如何把 Node.js 嵌入到自己项目中。首先第一步下载 Node.js 源码,然后根据 N...

theanarkh
Node.jsJavaScript打包编程算法
发表了文章

如何优雅地 hack 用户的代码

前言:做基础技术的时候,会经常碰到一个问题就是如何让自己提供的代码对用户少侵入,无感。比如我提供了一个 SDK 收集 Node.js 进程的 HTTP 请求耗时...

theanarkh
JavaScriptNode.jsSDKHTTPIDE
发表了文章

V8 global.gc() 的实现

前言:在 Node.js 中我们有时候会使用 global.gc() 主动触发 gc 来测试一些代码,因为我们知道 V8 gc 的执行时机是不定的。但是可能很少...

theanarkh
编程算法Bootstrap
发表了文章

V8 CPU Profiler 的实现

前言:CPU Profiler 是应用性能诊断和优化的利器,本文介绍 V8 中关于这部分的实现,细节比较多也比较复杂,大致分析一下原理,代码来自 V8 10.2...

theanarkh
发表了文章

V8 Heap Profiler 的实现

前言:V8 Heap Profiler 用于收集哪些代码分析了多少内存的信息。本文介绍 V8 中关于这部分的实现,代码来自 V8 10.2。

theanarkh
发表了文章

V8 新生代垃圾回收的实现

前言:因为最近在做一些 gc track 的事情,所以打算了解一下 V8 GC 的实现。介绍 V8 GC 的文章网上已经有很多,就不打算再重复介绍。本文主要介绍...

theanarkh
发表了文章

V8 堆外内存 ArrayBuffer 垃圾回收的实现

前言:V8 除了我们经常讲到的新生代和老生代的常规堆内存外,还有另一种堆内存,就是堆外内存。堆外内存本质上也是堆内存,只不过不是由 V8 进行分配,而是由 V8...

theanarkh
网络安全
发表了文章

PR 在 Node.js 17.8.0 和 17.9.0 发布了,以后收集性能数据更方便了😀。

PR 在 Node.js 17.8.0 和 17.9.0 发布了,以后收集性能数据更方便了?。

theanarkh
发表了文章

通过代码缓存加速 Node.js 的启动

前言:之前的文章介绍了通过快照的方式加速 Node.js 的启动,除了快照,V8 还提供了另一种技术加速代码的执行,那就是代码缓存。通过 V8 第一次执行 JS...

theanarkh
缓存打包Node.jsC++JavaScript
发表了文章

通过快照加速 Node.js 的启动

前言:随着 Node.js 的越来越强大,代码量也变得越来越多,不可避免地拖慢了 Node.js 的启动速度,针对这个问题,Node.js 社区通过 V8 的 ...

theanarkh
C++打包Node.jsJavaScript
发表了文章

Node.js 的 trace events 架构

前言:trace 系统用于收集内核的数据,本文介绍在 Node.js 中 trace 的架构和实现,因为 Node.js 的 trace 系统是基于 V8 的,...

theanarkh
Node.js
发表了文章

Node.js 的 perf_hooks

前言:perf_hooks 是 Node.js 中用于收集性能数据的模块,Node.js 本身基于 perf_hooks 提供了性能数据,同时也提供了机制给用户...

theanarkh
HTTPhttps网络安全C++JavaScript

个人简介

个人成就

扫码关注腾讯云开发者

领取腾讯云代金券