Tag Archives: programming

各家 glob 的效能...

在「Glob Matching Can Be Simple And Fast Too」這邊看到在分析 (a.*)nb 這樣的 pattern 的效能 (像是 a.*a.*a.*b 這樣的東西),第一波先測 shell,結果發現有趣的現象: 那個 csh 是怎麼了 XDDD Looking at the source code, it doesn’t attempt to perform glob expansion itself. Instead it calls the C library implementation … Continue reading

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

Tor 在考慮使用 Rust 改寫

不過也不確定是不是愚人節消息就是了:「[tor-dev] Tor in a safer language: Network team update from Amsterdam」。 Tor 考慮使用 Rust 改寫,目前已經完成的部份,以及接下來的規劃: What has already been done: - Rust in Tor build - Putting together environment setup instructions and a (very small) initial draft for coding standards … Continue reading

Posted in Computer, Murmuring, Network, P2P, Programming, Security, Software | Tagged , , , , , , , , , | Leave a comment

「從 X 語言轉換到 Y 語言」的研究

算是個有趣的研究,看看就好:「The eigenvector of "Why we moved from language X to language Y"」。 作者先用 Google 搜尋拉出數量: 但這個方法少了保留在原語言的資料,所以後面看看就好 XD 接下來是轉換成 stochastic matrix (真是讓人懷念的東西...): 最高的幾個語言是 Golang、C 與 Java,不過如同前面講的,因為少了留在原語言的資料,看看就好不用當真...

Posted in Computer, Murmuring, Programming | Tagged , , , | Leave a comment

Ruby 2.4 中 Hash Table 的效能改善

前幾天 Ruby 推出了 2.4.0 (Ruby 2.4.0 Released),其中特別被拿出來提的:「Introduce hash table improvement (by Vladimir Makarov)」。 討論串很長而且歷時很久,但可以看出來方向是提高 CPU cache 效率: Modern processors have several levels of cache. Usually,the CPU reads one or a few lines of the cache from memory (or another level … Continue reading

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

分析 GitHub 上的 Tab 與 Space

作者用 BigQuery 分析了 GitHub 上的 Tab 與 Space 的差異 (是個 flame war 開始的節奏 XDDD):「400,000 GitHub repositories, 1 billion files, 14 terabytes of code: Spaces or Tabs?」。 可以看到除了 C 與 Go 以外,大多數的程式語言都是 Space > Tab。另外在文章下面也有使用的 BigQuery 指令可以參考。

Posted in Cloud, Computer, Database, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , | 3 Comments

Golang 1.7

Golang 1.7 主打更小的 binary size:「Smaller Go 1.7 binaries」: Typical programs, ranging from tiny toys to large production programs, are about 30% smaller when built with Go 1.7. 還附了一張經典的「Hello, world」程式的分析: 由於現代 CPU 的速度與 L1/L2/... cache 有緊密關係,當 binary size 變小時,常常會伴隨著 memory access … Continue reading

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

在 C 裡 Concurrency 的 Library

看到「libdill: Structured Concurrency for C」這個東西,在 C 裡實作了兩個不同種類的 concurrency,一個是 proc (process-based) 一個是 go (corouting-based)。 支援的 function 算是蠻清晰的,範例也很清楚: #include <libdill.h> #include <stdio.h> #include <stdlib.h> coroutine int worker(const char *text) { while(1) { printf("%s\n", text); msleep(now() + random() % 500); } return 0; … Continue reading

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

GitHub 上程式語言的趨勢

GitHub 給了從 2008 年到 2015 年現在,放在 GitHub 上專案所使用程式語言的排名:「Language Trends on GitHub」。 這同時包括了公開與私人 repository: The rank represents languages used in public & private repositories, excluding forks, as detected by Linguist. 可以看到 Java 專案的排名逐步上升,應該是愈來愈多 Java 專案放到 GitHub 上 (應該是跟 Android 有關)。而 Perl … Continue reading

Posted in Computer, Murmuring, Network, Programming | Tagged , , , , , , , , | 2 Comments

Git 2.5 的 worktree

GitHub 對 Git 2.5 寫的介紹:「Git 2.5, including multiple worktrees and triangular workflows」。 Please note that the worktree feature is experimental. It may have some bugs, and its interface may change based on user feedback. It's not recommended to use git … Continue reading

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

Mozilla Developer Network (MDN) 上的 JavaScript 教學

Mozilla Developer Network (MDN) 寫了一篇關於 JavaScript 的介紹文章,算是以現在的角度來教 JavaScript:「A re-introduction to JavaScript (JS tutorial)」。 不是給完全不懂的人入門看的,而是對程式語言有了解的人看的。 文章裡面不單純只是教學,還引用了許多重要的文獻,尤其是 ECMAScript 規格書。有想要考據確認規格書怎麼定義會很方便。 而最後面還提到了 browser 上 DOM 實作時的 memory leak 問題以及解法,這對於現在 single page application 的應用也愈來愈重要了。

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