在 Hacker News 的最新列表上面看到的演算法,用來計算圓周率 π 的公式:「Bellard's formula」。
這個公式特別的地方在於 的部份,這使得整個公式可以很迅速的算出某個二進制位置上的值 (要做一些條件判斷,相較於十進制轉二進制的方式快多了),而且可以馬上想到一些平行運算的方式...
另外一個讓我注意到的點是,這居然是 Fabrice Bellard 丟出來的公式,真的是到處看到他的蹤跡耶...
幹壞事是進步最大的原動力
在 Hacker News 的最新列表上面看到的演算法,用來計算圓周率 π 的公式:「Bellard's formula」。
這個公式特別的地方在於 的部份,這使得整個公式可以很迅速的算出某個二進制位置上的值 (要做一些條件判斷,相較於十進制轉二進制的方式快多了),而且可以馬上想到一些平行運算的方式...
另外一個讓我注意到的點是,這居然是 Fabrice Bellard 丟出來的公式,真的是到處看到他的蹤跡耶...
Fabrice Bellard 跑去寫了一套 JavaScript engine 出來:「QuickJS」。
以 ES2019 當底實做的 JS engine:
Almost complete ES2019 support including modules, asynchronous generators and full Annex B support (legacy web compatibility).
測試的部份也過了:
Passes 100% of the ECMAScript Test Suite.
在大小的部份,比起其他的 engine (與 package) 來說的確是小很多,不過 190KB 這個大小對於 embedded system 來說還是有點微妙 (但對於想要包 JS engine 進去用的人應該是頗開心的):
Small and easily embeddable: just a few C files, no external dependency, 190 KiB of x86 code for a simple hello world program.