cinatra
cinatra copied to clipboard
可以尝试利用多核
具体是什么方面?现在就i时多核多线程。
如果利用的多核性能应该比这个高多了。
这个问题需要研究,看看怎么进一步利用asio多核特性。
嗯性能可以参考 nginx
也可以参考之前写的 tinyco 思路,也是借鉴 nginx 的思想。
这个意义应该不大。io密集型应用单线程足够,cpu密集型需要在响应请求后手动创建任务或者创建线程。nginx的思想核心在于,php等网页脚本都是单线程解析执行,速度慢,要是单线程就阻塞住了其他网页请求的响应,所以需要多线程。但cinatra因为用的是c艹,所以是偏向于io密集型,单线程足够占满几乎所有的IO。假如需要做大量的计算,可以尝试手动创建线程,然后把IO线程的资源放出来,给其他IO请求使用
node.js就是IO密集型,IO线程处理就能在很大程度上比多线程/多进程的php的qps更高
每个核心跑一个 asio::io_context?
看到最新代码有 https://github.com/qicosmos/cinatra/blob/master/include/cinatra/io_service_pool.hpp