mac
計算速度視覺判斷是(由好到差):c > rust > swift > golang
記憶體開銷在mac上是(由好到差):c > rust > golang > swift
注:例子都是採用uint64可溢位方式計算fib
如圖:
生成檔案大小、占用執行緒數:
c 8.3 kb 1注:golang的預設執行緒數與cpu核心數有關。swift 48 kb (2.2) 47 kb (3.0) 1
rust 348 kb 1
golang 1.6 mb (1.6.2) 1.1 mb (1.7rc2) 4 (1.6.2) 5 (1.7rc2)
ubuntu
計算速度視覺判斷是(由好到差):rust > c > swift > golang
記憶體開銷在ubuntu上是(由好到差):c > golang > swift > rust
如圖:
生成檔案大小、占用執行緒數:
c 8.6 kb 1windows計算速度視覺判斷是(由好到差):c(gcc) > golang > rust > c(vs2015)記憶體開銷在windows上是(由好到差):c(gcc) > c(vs2015) > rust > golangswift 18 kb 1
rust 652 kb 1
golang 1.7 mb 5
如圖:生成檔案大小、占用執行緒數:
c (gcc) 67.7 kb 1fib**描述:c (vs2015) 94.5 kb 1
golang 1.03 mb 5
rust 1.76 mb 1
如果輸入整數 num <= 2,返回 1;
否則 返回 fib (num - 2) + fib (num - 1)。
例子:計算1~100的fib。
編譯:語言(mac/ubuntu/windows): 命令
c (llvm7.3.0:clang-703.0.31/gcc5.2.1/mingw:gcc4.9.3 with -std=c11): gcc -os test_c.c -o test_c
(vs2015:cl 19.00.24210): cl /os test_c.c /link /out:test_c_vs2015.exe
rust (rustc 1.10.0 and cargo 0.11.0): cargo build --release
golang (go1.6.2/go1.5.1/go1.7rc1): go build -ldflags "-s -w" test_go.go
swift (swift 2.2/swift 3.0-preview1/--): swiftc -o test_swift.swift
mysql redis mongodb效能比較
1 redis所有資料都是放在記憶體中的,持久化是使用rdb方式或者aof方式。2 mongodb的所有資料實際上是存放在硬碟的,所有要操作的資料通過mmap的方式對映到記憶體某個區域內。然後,mongodb就在這塊區域裡面進行資料修改,避免了零碎的硬碟操作。至於mmap上的內容flush到硬碟就是...
Mysql count 的多種使用方式效能比較
mysql的count函式用於統計符合條件的記錄數,常用的方式有 1 count 2 count 1 3 count id 4 count col 首先需要明確一點 count函式對於返回的結果集,一行行地判斷,不會統計null值。初學者經常會糾結到底應該使用哪種方式做計數,實際上這四種計數方式是有...
搭建效能比squid高很多的varnish伺服器
varnish是一款高效能的開源http加速器,挪威最大的 使用3臺varnish代替了原來的12臺squid,效能比以前更好。varnish的作者poul henning kamp是freebsd的核心開發者之一,他認為現在的計算機比起1975年已經複雜許多。在1975年時,儲存媒介只有兩種 記憶...