2023-01-20 311
我一直在执行一些关于Android的测试,以验证如果并行化,算法(如FFT)的性能(如FFT)如何得到改进.我已经通过使用JNI(FFTW)和Java线程(来自Jtransforms)的PTHREAD实现了算法.我没有按预期使用线程获得更好的性能,而是使用串行算法获得了更好的结果.我尚不清楚为什么自从我在多核设备上执行这些测试以来,我已经得到了这些结果.似乎Android系统使用的调度算法与Linux使用的计划算法有所不同,如果您想使用多个CPU在Android上进行多处理,那么您就无法运气.
.
fftw的示例:
JNI代码在 blob/master/jni/fftw_jni.c 及其界面是 https://github.com/maxrosan/dspbenchmarking/blob/master/master/src/src/src/src/ime/dspbenchmarking/algoriths/algorithms/algorithms/fftw/fftw/fftw.java .
测试中调用的方法是”执行”.
纯Java的示例:
这里称为”执行”的方法.
‘执行’和” perform”在另一个线程中被调用.
如果您的程序在持续时间内运行多个CPU密集型线程,则内核将将线程转换为单独的内核.否则,内核是由两件事激励的:
在可能的情况下,Android关闭了内核,仅在CPU需求需要时才能启用它们.
的确切构成”持续周期”的确切构成不同.
我整理了两个示例代码,这些代码演示了多个使用的核心( c版本, java版本).
带有 systrace “> systrace 支持您实际上可以看到图形方式看到哪个,线程在每个核心上运行.
更新:
我认为有一个示例可能会有所帮助,因此我将Multicore.java测试包装在示例应用程序中,然后在Systrace下的4.3 Nexus 4上运行它.我创建了一个页面,该页面解释结果.
以上所述是小编给大家介绍的在Android上进行多处理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25918.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态