C++经过JNI回调java的空函数,平均耗时7毫秒,是因为回调过于频繁吗
C++通过JNI回调java的空函数,平均耗时7毫秒,是因为回调过于频繁吗?
linux下C++ 通过JNI回调java函数,回调函数内容为空,什么都不执行,就是一个函数,但是经常需要有5毫秒--7毫秒的时间,我回调比较频繁,大约每秒150次以上,目标是2000次/秒
是因为CPU较高的原因吗? 6核dell R710的服务器,每核约30%左右。感觉不是很高的。
求帮助。
还有个问题顺便问下,有回答就另外开贴送分。
我使用select IO + 多线程 异步socket 打算实现每秒2000条数据的接收(每条数据1000多个字节),6核CPU较高,是因为select操作频繁导致CPU高吗,换成epoll会不会好一些。
------解决方案--------------------
回调JAVa,这里有很多JNI的转换消耗等
------解决方案--------------------
cpu占用高和你选什么模型并没有大的直接关系
你分析下具体消耗在那一步
应该是JAVA虚拟机本身响应消耗了太多资源
------解决方案--------------------
linux下C++ 通过JNI回调java函数,回调函数内容为空,什么都不执行,就是一个函数,但是经常需要有5毫秒--7毫秒的时间,我回调比较频繁,大约每秒150次以上,目标是2000次/秒
是因为CPU较高的原因吗? 6核dell R710的服务器,每核约30%左右。感觉不是很高的。
求帮助。
还有个问题顺便问下,有回答就另外开贴送分。
我使用select IO + 多线程 异步socket 打算实现每秒2000条数据的接收(每条数据1000多个字节),6核CPU较高,是因为select操作频繁导致CPU高吗,换成epoll会不会好一些。
------解决方案--------------------
回调JAVa,这里有很多JNI的转换消耗等
------解决方案--------------------
cpu占用高和你选什么模型并没有大的直接关系
你分析下具体消耗在那一步
应该是JAVA虚拟机本身响应消耗了太多资源
------解决方案--------------------