A simple VS. between Sinatra and Martini

Sinatra VS. Martini

网上已经有许多对比的数据了

但都不如自己来的实在

于是在 VPS 上分别用 Martini Martini 搭了两个 Hello World
选了 Linux 上的 siege 作为测试工具

性能

Martini

1
siege -q -c 1000 -r 30 -f sinatra.url
1
2
3
4
5
6
7
8
9
10
11
12
Transactions: 29332 hits
Availability: 97.77 %
Elapsed time: 107.10 secs
Data transferred: 0.38 MB
Response time: 1.73 secs
Transaction rate: 273.87 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 473.90
Successful transactions: 29332
Failed transactions: 668
Longest transaction: 25.45
Shortest transaction: 0.00

Martini

1
siege -q -c 1000 -r 30 -f martini.url
1
2
3
4
5
6
7
8
9
10
11
12
Transactions: 29988 hits
Availability: 99.96 %
Elapsed time: 58.56 secs
Data transferred: 0.34 MB
Response time: 0.46 secs
Transaction rate: 512.09 trans/sec
Throughput: 0.01 MB/sec
Concurrency: 235.70
Successful transactions: 29988
Failed transactions: 12
Longest transaction: 31.10
Shortest transaction: 0.00

代码量

当然开发是不可能仅仅关注服务器性能的
《人件》中早就强调,相对于机器,程序员的速度要放在优先位置

由于只是单纯的打印 _hello world_,无法对代码量做进一步详细的对比(欢迎留言

Go 目前的库大部分是从 GithubGet 下来的,代码质量是否有保障?
反观 Ruby,已经比较成熟(好像几年前 Python 对比 Ruby 的结果…)

结论

所以如果确定日访问量在千万 PV 以下,Ruby 是完全没有问题的

另外在 《松本行弘的程序世界》这本书中提到,Ruby 的设计哲学是:开发效率大于运行效率,成为一个“人性化”的语言

最最重要的是 Ruby 写起来真的很爽有木有…

最后弱弱的问一句,您幸福嘛?