- 主题:求助一个c++高性能开发问题
哦,才看到要输出到文件或数据库,昨晚只看了一半。
用c是不是能快点?
【 在 dormouseBHU 的大作中提到: 】
: 他这个瓶颈肯定不在除法。大概率是浮点数转字符串还有 std::ostringstream 的流操作。
:
--
FROM 112.39.178.*
+1
【 在 dormouseBHU 的大作中提到: 】
: 他这个瓶颈肯定不在除法。大概率是浮点数转字符串还有 std::ostringstream 的流操作。
--
FROM 114.247.175.*
最好是自己设计一个浮点数序列化机制,比如直接BASE6four
简单的转换成10进制浮点文本格式,不光慢,还可能损失精度。
最好能不转文本,直接传binary
【 在 xmbba 的大作中提到: 】
: 请高手们帮忙看一下,
: 一个函数,输入xn包含有76657个double数据,经过浮点数除法运算以后输出yn,输出yn是需要有约44960个double数据,yn的结果要push到pStream里面,为了输出到文件或者数据库,需要在0.5s内完成,最好是越快越好。基本的运算方案不能做修改,只能想办法提升效率。目前发现
: 会有卡顿。不知道有没有什么比较极致的提高效率的方法。
: ...................
--
修改:kirbyzhou FROM 114.247.175.*
FROM 114.247.175.*
1、既然都用Qt了,就能不Qt Core类和std C++混用就不混用。
2、函数的参数是xn和yn,计算代码却是xn_data和yn_data,说明思维不够专注。
3、n-m*ratio在计算里用了2次,可以提出来仅计算一次。
4、列表取值用xn.at(i)代替xn[i]。
5、用QTextStream或者QDataStream来做输出或者先把计算结果字符串化到QStringList
,再一把写到文件。
【 在 xmbba 的大作中提到: 】
: 请高手们帮忙看一下,
: 一个函数,输入xn包含有76657个double数据,经过浮点数除法运算以后输出yn,输出yn是需要有约44960个double数据,yn的结果要push到pStream里面,为了输出到文件或者数据库,需要在0.5s内完成,最好是越快越好。基本的运算方案不能做修改,只能想办法提升效率。目前发现
: 会有卡顿。不知道有没有什么比较极致的提高效率的方法。
: ...................
--
FROM 112.48.103.*
可以让AI给你一个OpenCL或者CUDA的GPU计算程序做这件事。
--
FROM 171.213.153.*
最好能够发挥多核优势,进行并行计算。
【 在 e729 的大作中提到: 】
: 哦,才看到要输出到文件或数据库,昨晚只看了一半。
: 用c是不是能快点?
:
--
FROM 221.218.61.*
:),感谢各位高手的热情回复。
目前感觉还是架构设计的不够理想和不够清晰,虽然用了多线程的方法(16个通道用了16个线程),但是每个线程里面短时间内要处理的内容还是很多,有没有什么比较简单又健壮的并行计算的方式?或者有一些案例或者教材之类的先推荐学习一下,多谢啦。
也问了AI很多问题,感觉有一些小的优化措施,但是到提出优化10倍或者提升更多性能的时候就迷糊了。如果能有高手讲解一下架构或者怎么通过AI问此类问题就好了。在代码已经有的基础上提问AI优化工程。
硬件目前没法升级,在i5的笔记本上运行都会因为这块的效率问题影响到了其他底层线程的usb通信,频率不算高,30分钟影响1s,但是目标是24小时连续不影响。将来还可能把方案往单片机或者手机平板上面移植,硬件会更局限。。
--
FROM 120.41.215.*
一个通道1秒才几百K的数据,完全不是什么大数据量。生产-消费者模式,后台接收、处
理,不至于忙不过来。
大概率还是新手、初学者写得代码太小学生了。
【 在 xmbba 的大作中提到: 】
: :),感谢各位高手的热情回复。
: 目前感觉还是架构设计的不够理想和不够清晰,虽然用了多线程的方法(16个通道用了16个线程),但是每个线程里面短时间内要处理的内容还是很多,有没有什么比较简单又健壮的并行计算的方式?或者有一些案例或者教材之类的先推荐学习一下,多谢啦。
: 也问了AI很多问题,感觉有一些小的优化措施,但是到提出优化10倍或者提升更多性能的时候就迷糊了。如果能有高手讲解一下架构或者怎么通过AI问此类问题就好了。在代码已经有的基础上提问AI优化工程。
: ...................
--
FROM 112.48.103.*
有几核就几线程。几个通道就用几个协程,例如16协程争夺4核4线程。
17楼的方法也行,把数据发到后台处理。后台可以使用很多核的服务器。
【 在 xmbba 的大作中提到: 】
: :),感谢各位高手的热情回复。
: 目前感觉还是架构设计的不够理想和不够清晰,虽然用了多线程的方法(16个通道用了16个线程),但是每个线程里面短时间内要处理的内容还是很多,有没有什么比较简单又健壮的并行计算的方式?或者有一些案例或者教材之类的先推荐学习一下,多谢啦。
: 也问了AI很多问题,感觉有一些小的优化措施,但是到提出优化10倍或者提升更多性能的时候就迷糊了。如果能有高手讲解一下架构或者怎么通过AI问此类问题就好了。在代码已经有的基础上提问AI优化工程。
: ...................
--
修改:ylh1969 FROM 221.218.61.*
FROM 221.218.61.*
看了半天,你还是没有指出问题所在。
你首先应该用各种工具,函数记时,找热点函数等等,找到时间消耗在哪里,然后再针对性优化。
你这样毫无目的的修改代码除了浪费时间,一点帮助都没有
【 在 xmbba 的大作中提到: 】
: :),感谢各位高手的热情回复。
: 目前感觉还是架构设计的不够理想和不够清晰,虽然用了多线程的方法(16个通道用了16个线程),但是每个线程里面短时间内要处理的内容还是很多,有没有什么比较简单又健壮的并行计算的方式?或者有一些案例或者教材之类的先推荐学习一下,多谢啦。
: 也问了AI很多问题,感觉有一些小的优化措施,但是到提出优化10倍或者提升更多性能的时候就迷糊了。如果能有高手讲解一下架构或者怎么通过AI问此类问题就好了。在代码已经有的基础上提问AI优化工程。
: ...................
--来自微微水木3.5.17
--
FROM 120.204.173.*