Tag Archives: v8

V8 對 for-in 的最佳化

V8 引擎的人對 for-in 的最佳化寫了一篇解釋「Fast For-In in V8」,比較直接的結果就是維基百科與 Facebook 都變快了: For example, in early 2016 Facebook spent roughly 7% of its total JavaScript time during startup in the implementation of for-in itself. On Wikipedia this number was even higher at around … Continue reading

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Programming, Software, WWW | Tagged , , , , , , , , , | Leave a comment

Google Chrome 55 的記憶體改善

前陣子 Google Chrome 55 出了,其中最讓人期待的是對記憶體的改善,有人整理了數據:「Chrome 55 uses ~30% less memory than Chrome 54」。 依照作者拿 weather.com 與 reddit.com 測試,前者的記憶體省了 26%,後者省了 30%,都相當明顯。我自己在升到 55 後有明顯感覺到改善,尤其是重開 Chrome 時重新讀取頁面的速度也快了不少... 這些改善主要是出自於「Fall cleaning: Optimizing V8 memory consumption」這邊提到對 V8 engine 的改寫,我感覺到速度變快應該是記憶體用量降低使得 CPU cache rate 提高的關係吧...

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , | Leave a comment

V8 JavaScript 引擎將支援 WebAssembly

V8 JavaScript 引擎宣佈支援 WebAssembly:「Experimental support for WebAssembly in V8」。 依照說明,看起來在 Google Chrome 51 之後的版本 (目前是在 Chrome Canary) 可以打開 chrome://flags#enable-webassembly 啟用 WebAssembly 測試。 目前還是只有想到電玩遊戲之類的用途...

Posted in Browser, Computer, Game, GoogleChrome, Murmuring, Network, Programming, Recreation, Software, WWW | Tagged , , , , , | 2 Comments

V8 Engine 的 Math.random() 在新版被重寫了...

先前在「V8 的 Math.random() 亂度不足的問題」提到 Math.random() 因為使用 MWC1616 (Fast random number generation using 128 bit multimedia extension registers on Pentium class machines) 而不夠亂的問題。 這個問題在新版 V8 Engine 提出改善了:「There's Math.random(), and then there's Math.random()」。 新實作的方法是 xorshift128+,擁有極長的 period length: This has been pointed out … Continue reading

Posted in Browser, Computer, GoogleChrome, Murmuring, Programming, Security, Software | Tagged , , , , , , , , , , , | Leave a comment

V8 的 Math.random() 亂度不足的問題

在「TIFU by using Math.random()」這篇看到作者踩到地雷,於是在討論 V8 Engine 的 Math.random() 的亂度不足。 其實這個問提早在 2012 年就有人在 StackOverflow 上詢問:「Why is Google Chrome's Math.random number generator not *that* random?」,而且也回答得很清楚。 而 Mozilla 這邊在 2006 年也被提出了類似的問題:「Bug 322529 - Upgrade Math.random() to a better algorithm, such as Mersenne Twister」。 … Continue reading

Posted in Browser, Computer, Firefox, GoogleChrome, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , , , , , , , , , , , , , | 2 Comments