Friday 24 January 2014

探索在 Chromium 瞬间移动的方法

其实, Chromium 浏览器暗地里传授了一种瞬间移动的方法。

现阶段这个方法只在linux。Windows 用户就看看算了。

首先, 打开 Chromium,  按SHIFT+ESC键打开 Task Manager, 或者在 Menu 选 Tools -> Task Manager 也一样。

你会看见有Memory, Process ID 云云。




如果选左下角的 Stats for nerds, 就会进入chrome://memory-redirect/, 静止版的 Processes memory。

特别的地方是可以看见其它浏览器的Memory。 比如说 Firefox。




Ok,  回到刚才的Task Manager.

顺带一提, 我的blog曾经写过 Google Chromium 地址栏的介绍, 提到输入URL的途中, Chromium 会 pre-render 来加快速度, 可是我当时没有给你看证据。

现在尝试输入URL, 留意Task Manager最后一行, 很明显看见 Pre-render的 Network 传输 811KB/s.





 Ok, 让我们开始探索瞬间移动。

首先, 在Task Manager 中间随便一个地方按右键。选 Goats Teleported



就会有新的栏位 Goats Teleported 出现。(Teleport 是瞬间移动的意思。)

你所看到的数字是一直跳动的。 无法预测数量。


那些数字代表什么呢? 就是一群山羊在 Chromium 的 Memory 里面不停的使用瞬间移动功夫, 跳来跳去, 这些数字就是每秒出现在 Chromium Memory 的山羊数目。

让我们看下Chromium的部分源码, https://chromium.googlesource.com/experimental/chromium/src/+/ddeb0e8430927a8f4a8300773729e1c0c2aead8f/chrome/browser/task_manager/task_manager.cc:






goat_salt_ 的赋值是 base::RandUint64() 。任意的数字, 暂时不大明白其中蕴藏的秘密。只好看看其它地方。

去header 文件找下灵感,
 https://chromium.googlesource.com/experimental/chromium/src/+/ddeb0e8430927a8f4a8300773729e1c0c2aead8f/chrome/browser/task_manager/task_manager.h





...看到一个奇怪的URL, http://go/at-teleporter , 哪有 go 这种 domain 的?... =.=

go, 你联想到什么秘密吗? 我想到的只有 Go programming language 和 Gopher。当然, goat 本身也是 go开头... Oops... http://go/at 不就是goat吗? ( 之前还以为是at&t)

也许只有当你学会瞬间移动, 才能穿越时空浏览这个 go 的 神秘 domain 吧?



干杯 :)


*其实 go 是 Google intranet 的地址表达方式, 正式的 hostname 其实是 http://goto.google.com






所以 http://go/at-teleporter 其实是 Google 内部的链接 http://goto.google.com/at-teleporter :)






No comments:

Post a Comment