内部细节

Deno 和 Linux 类比

LinuxDeno
进程 (Processes)Web Workers
系统调用 (Syscalls)Ops
文件描述符 (fd)Resource ids (rid)
调度器 (Scheduler)Tokio
用户空间: libc++ / glib / boosthttps://deno.land/std/
/proc/$$/statDeno.metrics()
手册页 (man pages)deno types

资源 (Resources)

资源(Resources),又称 rid,是 Deno 版本的文件描述符。它们是一些整数数值,用来指代打开的文件、套接字 (sockets) 和其他概念。基于 rid,Deno 能够查询系统中有多少个打开的资源,这在测试时很有用。

  1. console.log(Deno.resources());
  2. // { 0: "stdin", 1: "stdout", 2: "stderr" }
  3. Deno.close(0);
  4. console.log(Deno.resources());
  5. // { 1: "stdout", 2: "stderr" }

指标 (Metrics)

指标 (Metrics) 是 Deno 用于各种统计数据的内部计数器。

  1. > console.table(Deno.metrics())
  2. ┌──────────────────┬────────┐
  3. (index) Values
  4. ├──────────────────┼────────┤
  5. opsDispatched 9
  6. opsCompleted 9
  7. bytesSentControl 504
  8. bytesSentData 0
  9. bytesReceived 856
  10. └──────────────────┴────────┘

架构示意图

架构示意图

会议

Ryan Dahl - An interesting case with Deno