Tag Archives: golang

Golang 本身也出字型了...

不愧是 Google 在後面撐腰,Golang 找人設計了一整套字型,叫做「Go fonts」: The Go fonts are divided into two sets, Go proportional, which is sans-serif, and Go Mono, which is slab-serif. 不過看了一下 monospace 的部份,有點微妙: 其他兩個也許哪天換心情來用看看好了 :o

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

Go 1.9 的 GC 改善

Update:被提醒後仔細看了一下,是 1.8 預設生效 (但保留選項切回來 debug),如果沒問題的話 1.9 把舊的方式拔乾淨: Assuming things go smoothly, we will remove stack re-scanning support when the tree opens for Go 1.9 development. 標題就不改了... 以下原文。 在「Sub-millisecond GC pauses」這邊看到的。Golang 想辦法將 GC 造成的影響降低:「Proposal: Eliminate STW stack re-scanning」。 目標是解決最大的 GC pause … Continue reading

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

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

Go 上面的白箱安全性檢查

HP 的 open source 專案「Go AST Scanner」,分析 Go 的原始程式碼拉出 AST 進行分析 (Static program analysis),再找出可能的安全性問題。 雖然是 alpha 階段,但看起來是個好東西啊... 至少寫的太誇張的 SQL injection 可以掃出來。

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

Go 1.6 把 HTTP/2 變成預設支援的功能

在 Go 的官方公告「Go 1.6 is released」提到了把 net/http 的 HTTP/2 預設啟用了: In Go 1.6, support for HTTP/2 is enabled by default for both servers and clients when using HTTPS, bringing the benefits of the new protocol to a wide range of … Continue reading

Posted in Computer, Murmuring, Network, Programming, Security, Software, WWW | Tagged , , , , , , , , , , | 1 Comment

Google 的 Load balancer:Seesaw

前幾天因為流感而睡太多,來消化一些文章。 上個星期 Google 放出一套用 Go 寫的 Load balancer,叫 Seesaw:「Seesaw: scalable and robust load balancing」。 比較有趣的是 BGP 與 anycast VIP 的能力: Seesaw v2 provides full support for anycast VIPs - that is, it will advertise an anycast VIP when it becomes … Continue reading

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

CloudFlare 對 Go 上面加解密系統的改善

CloudFlare 發佈了自己版本的 Go,修改了其中的 crypto subsystem:「Go crypto: bridging the performance gap」。 文章花了不少篇幅介紹 AEAD (Authenticated Encryption with Associated Data),而目前 CloudFlare 支援的是 AES-GCM 與 ChaCha20-Poly1305,也是兩大主流,分別佔了 60% 與 10% 的 HTTPS 流量: As such today more than 60% of our client facing traffic is … Continue reading

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

用 Go 寫的 Tor Relay Server

在 Zite 上看到的「Implementing a Tor relay from scratch」,用 Go 寫的 Tor Relay Server。 會跳下去用 Go 寫是因為效能上的考量: [...], but the lack of AES-NI instructions on the CPUs cause a significant slowdown. 但因為一個 IP 只能跑兩個 instance,這就有點痛了: To maximize the amount of relayed … Continue reading

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

C 對 Go Channel 的實做

在「Pure C implementation of Go channels.」這邊看到有人在 C 語言裡面實做 Go 的 Channel,包括了 Unbuffered 與 Buffered 版本。 看起來是支援 multithreading 的:「Add missing pthread_cond_destroy in chan init cleanup」、「Add -lpthread to CFLAGS」。

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | 1 Comment