Tag Archives: c

C++ 與組語的速度...

在 Hacker News Daily 上看到「Why is this C++ code faster than my hand-written assembly for testing the Collatz conjecture?」覺得很有趣... 作者寫了一段 assembly,但跑起來比用 C++ 同義的版本慢多了。目前最高分的答案給了很清楚的解釋... even: mov rbx, 2 xor rdx, rdx div rbx 上面這段 code 是作者寫的組語版本,用到 div 指令,這是非常慢的指令: On Intel Haswell, … Continue reading

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

各家 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

OpenBSD 將 ACME Client (Let's Encrypt Client) 納入系統

看到 OpenBSD 直接把 ACME 協定的 client 放進系統內,而 ACME 也就是 Let's Encrypt 所使用的協定:「Let's Encrypt client imported into -current」: CVSROOT: /cvs Module name: src Changes by: florian@cvs.openbsd.org 2016/08/31 16:01:42 Added files: usr.sbin/acme-client: ChangeLog Makefile acctproc.c base64.c certproc.c chngproc.c dbg.c dnsproc.c extern.h fileproc.c … Continue reading

Posted in Computer, Murmuring, Network, OpenBSD, OS, Security, Software, WWW | 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

因為一條 USB 線燒了三個設備...

Benson Leung 花了不少時間在測試 USB 線 (「Google 工程師在 Amazon 上留下對 USB-C 線的精彩評價...」與「Google 工程師在 Amazon 上對 Type C USB 線的評論」),而前陣子他測到一條超棒的 USB 線,把他三個測試設備都燒壞了:(出自這邊) Surjtech's A-to-C cable seriously damaged a Pixel 2 laptop and two USB PD analyzers. 他在 Amazon 上留下的說明可以看到他發現廠商直接把 GND 與 Vbus … Continue reading

Posted in Computer, Hardware, Murmuring, Security | Tagged , , , , , , , , , | 1 Comment

Android NDK 宣佈向 Clang 靠攏...

在 Hacker News Daily 上看到 Android NDK 宣佈向 Clang 靠過去的消息:「Changelog for NDK Build 2490520」。 Android NDK 做為效能的加速手段而使用到 C 或是 C++,所以會使用對應的 compiler suite: The NDK is a toolset that allows you to implement parts of your app using native-code languages such … Continue reading

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

Google 工程師在 Amazon 上對 Type C USB 線的評論

先前提到「Google 工程師在 Amazon 上留下對 USB-C 線的精彩評價...」,後來這位工程師 Benson Leung 寫了更多的評價出來,在「Amazon.com: Profile for Benson Leung」這邊可以看到。 可以看到大量的線被打了兩顆星,不過還是少數有幾條線測過了: USB Type C cable (USB-C) to USB3.0 Type A: TRUE CURRENT Aluminum shell and Braid Shield cable Reversible for Macbook, Oneplus2,Nexus 5x, Nexus 6P, Huawei and … Continue reading

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

Facebook 推出靜態分析工具:Facebook Infer

Facebook 推出了靜態分析工具 Facebook Infer,可以事先找出 Android 與 iOS 上的 bug:Open-sourcing Facebook Infer: Identify bugs before you ship。 從官方給的操作動畫中就可以看出來怎麼跑了。目前看起來支援三種程式語言,C、Objective-C、Java: Facebook Infer is a static analysis tool - if you give Infer some Objective-C, Java, or C code, it produces a list of … Continue reading

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

Go 1.5 的進展

Andrew Gerrand 在「The State of Go - Where we are in May 2015」這份投影片裡面提到了不少 1.5 的改變與改善,預定在今年八月釋出。 首先是全部都改用 Go 寫,不再需要 C 語言的協助了: The gc tool chain has been converted from C to Go. 而效能上的改善最大的是 GC 的部份: 另外是對行動平台的發展: Go 1.5 provides support for … Continue reading

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