Tag Archives: performance

用 Rust 寫的 ripgrep

平常一直被大量使用的工具就會有人一直花時間改善,這次是 grep 系列的工具:「ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}」。 ripgrep 是用 Rust 寫的強化版 grep 工具,也就是類似於 ag 或是 ack 的工具,但想辦法讓執行的速度更快,盡可能接近於原始 grep 的速度。

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

Google 研發出的 BBR: Congestion-Based Congestion Control

Google 針對 TCP 的 congestion control 研究出了新的方法,是個純 sender-side 的演匴法,可以讓現有的 internet 直接換上去使用:「[net-next,14/14] tcp_bbr: add BBR congestion control」。 在 long-lived TCP connection 愈來愈普及後 (像是 HTTP/2),TCP 連線的最佳化可以用統計模型來計算,這也就是 BBR 的想法: In a nutshell, BBR creates an explicit model of the network pipe by sequentially … Continue reading

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

MySQL 5.6 到 5.7 改變的預設值

Percona 整理了一份 MySQL 5.6 到 5.7 改變的預設值,對於評估與轉移的人都很有用:「MySQL Default Configuration Changes between 5.6 and 5.7」。 sync_binlog 居然從 0 改成 1 了,這對效能的影響應該不少。 performance_schema_* 有不少改成自動調整了,可以省下不少功夫。 innodb_buffer_pool_dump_at_shutdown 與 innodb_buffer_pool_load_at_startup 都打開了,這避免了正常重啟時的 warm up 問題,不過在存在有效的手段可以手動 warm up 的時,應該還是會關掉吧。(參考 2013 的文章「熱 MySQL InnoDB 的方式...」) 另外介紹了 InnoDB 預設格式的改變,這點到是因為使用 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , , , , , , , , | Leave a comment

MySQL 8.0 的 performance_schema 加上 index 了...

MySQL 8.0 是 MySQL 5.7 的後續版本,中間的 6.0 與 7.0 都有一些故事,就被跳過去了,跟 PHP 的情況有點像。 在 8.0 版將會把 performance_schamea 加上 index,讓查詢的速度變快:「MySQL 8.0: Performance Schema, now with indexes!」: In MySQL 8.0, performance_schema tables are now indexed to speed up data retrieval. A total of … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , , | Leave a comment

CPU 指令的速度

在「Infographics: Operation Costs in CPU Clock Cycles」這邊看到張有趣的圖片: 文章大致說明了底層指令速度差異的由來,另外也提到了 C/C++ Function Calls、Indirect and Virtual Calls、Allocations、Kernel Calls、C++ Exceptions 以及 Thread Context Switches 這些高階面向的 CPU clock cycle 差異... 不過重點還是在這張圖 XD

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

Python 3.6 對 Dict 的改善

Python 3 的 Dict 將會有重大的改變:「[Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered」。 在 3.5 時: Python 3.5.1 (default, Jun 20 2016, 14:48:22) >>> def func(**kw): print(kw.keys()) ... >>> func(a=1, b=2, c=3, d=4, e=5) … Continue reading

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

印 "#" 比印 "B" 來的快的問題

這篇是兩年前在 StackOverflow 上的問題:「Why is printing “B” dramatically slower than printing “#”?」。 問問題的人這段程式跑了 8.52 秒: Random r = new Random(); for (int i = 0; i < 1000; i++) { for (int j = 0; j < 1000; j++) { if(r.nextInt(4) … Continue reading

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

PHP 的 JIT 翻修計畫

在「JIT for PHP project」這邊看到 PHP 新的翻修計畫: I'm glad to say that we have started a new JIT for PHP project and hope to deliver some useful results for the next PHP version (probably 8.0). We are very early in the … Continue reading

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

Linux 下各種效能觀察工具

在 Twitter 上看到整理出來的: Awesome. "Linux Performance Tools" by @brendangregg via @FreeBSDHelp Large version https://t.co/ByoYeLpjWW #sysadmin pic.twitter.com/sLckhiJiPB — nixCraft (@nixcraft) August 11, 2016 大圖: 找時間操練一次才會記得... 不過話說回來,出現 @FreeBSDHelp 也是頗有趣的 XD

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

Netflix 對 sendfile() 在 TLS 情況下的加速

Netflix 對於寫了一篇關於隱私保護的技術細節:「Protecting Netflix Viewing Privacy at Scale」。 其中講到 2012 年的 Netflix Open Connect 中的 Open Connect Appliance (OCA,放伺服器到 ISP 機房的計畫) 只有單台伺服器 8Gbps,到現在 2016 可以達到 90Gbps: As we mentioned in a recent company blog post, since the beginning of the Open … Continue reading

Posted in Computer, FreeBSD, Hardware, Movie, Murmuring, Network, OS, Programming, Recreation, Security, Software, Television, WWW | Tagged , , , , , , , , , , , , , , , , , , , , , , , | 1 Comment