今天我在本地机器上做了一些基准测试来比较不同 Haskell Web 框架的纯文本速度,我发现了一些奇怪的东西。与编译版本相比,我测试的几乎所有框架在从 GHCi 运行时都表现得更好。这是我的结果
+------------------------------------
|framework| GHCi rpm | compiled rpm
+---------+------------+-------------
|snap | 8000 | 150
+---------+------------+-------------
|yesod | 6000 | 2500
+---------+------------+-------------
|scotty | 22000 | 9500
+---------+------------+-------------
|servant | 17000 | 8500
+---------+------------+-------------
|spock | 3300 | 2700
+---------+------------+-------------
我知道这些数字并不能反映这些框架的速度,因为它们没有得到很好的调整或优化,但我的问题是为什么这些框架从 GHCi 启动时性能更好。难道我做错了什么 ?
为了构建它们,我只需运行stack build