针对GitHub上的几个几个C++ Restful库做了一个系统的对比:
Restful库 | 98%请求中的最大时间(越小越好) | 每秒平均处理的请求数(越大越好) | Sample代码的行数 |
---|---|---|---|
C++ : cpprestsdk / default JSON implementation | 51 | 30.70 | 48 |
C++ : cpprestsdk / RapidJSON | 44 | 47.06 | 47 |
C++ : restbed | 7 | 224.18 | 39 |
C++ : pistache | 6 | 319.99 | 40 |
PHP : Native implementation | 10 | 146.95 | 14 |
表格中第二列和第三列是性能指标,第四列体现易用性。从表中,我们可以很容易发现,巨硬(微软)开源的Restful库的性能最差,甚至不如PHP语言实现的,这简直是对C++的侮辱啊!其中性能最好的库——pistache,性能大约是PHP版本的2.17倍,不过易用性跟PHP差了很多:PHP仅仅用14行就可以写出一个Restful接口,而C++需要大约40行。
从上面的评测,我们可以看到不论是性能还是易用性方面,pistache在所有C++实现的Restful库中表现最为出色。