Edit: This list is now maintained in the rust-anthology repo.
Most active GitHub users (git.io/top)
The count of contributions (summary of Pull Requests, opened issues and commits) to public repos at GitHub.com from Wed, 21 Sep 2022 till Thu, 21 Sep 2023.
Only first 1000 GitHub users according to the count of followers are taken. This is because of limitations of GitHub search. Sorting algo in pseudocode:
githubUsers
.filter(user => user.followers > 1000)
本文譯自 [Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up][tokio-internals]。
Thanks [David Simmons][david-simmons] for this awesome article!
[Tokio][tokio] 是 Rust 的開發框架,用於開發非同步 I/O 程式(asynchronous I/O,一種事件驅動的作法,可實現比傳統同步 I/O 更好的延伸性、效能與資源利用)。可惜的是,Tokio 過於精密的抽象設計,招致難以學習的惡名。即使我讀完教程後,依然不認為自己充分內化這些抽象層,以便推斷實際發生的事情。
從前的非同步 I/O 相關開發經驗甚至阻礙我學習 Tokio。我習慣使用作業系統提供的 selection 工具(例如 Linux epoll)當作起點,再轉移至 dispatch、state machine 等等。倘若直接從 Tokio 抽象層出發,卻沒有清楚了解 epoll_wait()
在何處及如何發生,我會覺得難以連結每個概念。Tokio 與 future-driven 的方法就好像一個黑盒子。
#!/bin/bash | |
# Add missing DCOs for current branch (starting from merge base to master) | |
# Following commit history as an example, this script will affect commits E,F,G. | |
# | |
# v master | |
# A - B - C - D - H - I | |
# \ | |
# E - F - G | |
# ^ feature (HEAD) |
a:link, a:visited, a:active { | |
color: #8e8d93; | |
-webkit-transition: all .15s; | |
-moz-transition: all .15s; | |
-ms-transition: all .15s; | |
-o-transition: all .15s; | |
transition: all .15s; | |
} | |
a.top:link, a.top:visited, a.top:active { | |
color: #000; |