---
url: /docs/learn/references.md
---

参考资料和学习资源

## 性能编程

* [Rust 性能图书](https://nnethercote.github.io/perf-book/introduction.html)
* [MIT 公开课 - 软件系统性能工程](https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/video_galleries/lecture-videos)
* [Andrew Kelley - 实用 DOD](https://vimeo.com/649009599)
* [Mike Acton - 面向数据的设计和 C++](https://youtu.be/rX0ItVEVjHc)

## JavaScript 解析器

* Rust: [swc](https://swc.rs), [biome](https://biomejs.dev), [jsparagus](https://github.com/mozilla-spidermonkey/jsparagus), [ratel](https://github.com/ratel-rust/ratel-core), [boa](https://github.com/boa-dev/boa),
* JavaScript: [acorn](https://github.com/acornjs/acorn), [babel](https://babeljs.io)
* Go: [esbuild](https://esbuild.github.io)
* C++: [quick-lint-js](https://github.com/quick-lint/quick-lint-js)
* ASTs: [estree](https://github.com/estree/estree), [swc\_ecma\_ast](https://github.com/swc-project/swc/tree/main/crates/swc_ecma_ast/src), [babel ast](https://github.com/babel/babel/blob/main/packages/babel-types/src/ast-types/generated/index.ts), [jsparagus](https://gist.github.com/Boshen/0b481a058cd715576aaf1624d2c6d469)

### 学习

* [闪电般快速的解析，第一部分：优化扫描器](https://v8.dev/blog/scanner)
* [闪电般快速的解析，第二部分：惰性解析](https://v8.dev/blog/preparser)
* [理解 ECMAScript](https://v8.dev/blog/tags/understanding-ecmascript)
* [简单但强大的 Pratt 解析](https://matklad.github.io/2020/04/13/simple-but-powerful-pratt-parsing.html)
* [JS 语法怪癖](https://github.com/mozilla-spidermonkey/jsparagus/blob/master/js-quirks.md)
* [编写解释器](https://craftinginterpreters.com)

### 规范

* [ECMAScript 规范](https://tc39.es/ecma262/)
* [TypeScript 1.8 规范](https://github.com/Boshen/TypeScript-Language-Specification/blob/main/TypeScript%20Language%20Specification.pdf)
* [JSX 规范](https://facebook.github.io/jsx/)

### 媒体
