我的 Java 应用程序读取数千个文本文件,遍历行并将文本解析为浮点数,并用它们进行一些计算,然后将结果保存到一些文件中,现在我使用多个线程同时执行它们,仍然需要大约一个小时来运行整个应用程序。
这是我的应用程序功能的简化伪版本:
String Lines[]=ReadFile("abc.txt"),Items[];
float its[];
for (int i=0;i<Lines.length;i++)
{
Items=Lines[i].split(",");
its=new float[Items.length];
for (int j=0;j<its.length;j++) its[j]=Float.parseFloat(Items[j]);
do some calculation with : its[]
}
Do more calculation, save results to a StringBuffer.
Save StringBuffer to ("abc_result.txt");
我已经读到Rootbeer能够将一些工作负载转移到GPU并加快该过程,所以我的问题是:
[1] Rootbeer可以在GPU上处理文本解析和文件I / O吗?还是我需要在CPU上完成这部分,而只能在GPU上进行计算?
[2] 我的应用程序会从 Rootbeer 中受益吗?
答案,就像往常一样:视情况而定。
Rootbeer将能够将一些工作转移到GPU上。但是有很多警告。
现在,从外观上看,应用程序中的许多处理都与处理字符串有关。您正在字符串上调用 .split(),
这会将其分解为
字符串[]
;然后您浏览这些位并读取每个位以转换为浮点数
;然后你做你的计算。这是一项非常繁重的工作,尤其是在垃圾收集器上,它必须摆脱所有这些字符串
。
在这个问题中,我对非常相似的东西做了一些详细的分析,使用整数而不是浮点数,这导致了一些详细的讨论。结论是,放弃基于字符串
的方法并逐个字符读取文件,手动将它们转换为整数,这有很大的不同。几乎可以肯定的是,非常相似的东西将帮助您生成浮点数。
所以,简而言之,Rootbeer可能会有所帮助,但在你尝试一些激烈的事情之前,你可以做很多事情。
问题内容: 我创建了一个简单的Java应用程序,其中包含一个JFrame和几个JButton。当我尝试使用JVMTI检查Java应用程序时,我发现虽然我没有创建任何显式线程,但是却产生了许多显式线程。 我可以找到以下线程: 销毁JavaVM AWT-EventQueue-0 AWT关机 AWT-XAWT-守护线程 Java2D Disposer-守护程序线程 线程-0-守护程序线程[由JVMTI代
我在java中创建了一个在桌面上执行时可以正常工作的Swing游戏。但是,由于不可预见的事件,我的老板现在要求将游戏变成一个小程序,以便可以嵌入到网站中(不,JWS不是一个选项)。 以下是我将游戏转换为小程序的步骤: 1)将我的main类更改为具有public ulureinit()而不是public静态ululemain(),并从Applet扩展它 2) 更改了我的myJFrame。java类现
在收到远程通知并且用户采取操作(而不是关闭/解除)之后,app委托获得回调: -(void)application:(UIApplication*)application DidReceiverEmoTentification:(NSDictionary*)userInfo FetchCompletionHandler:(void(^)(UIBackgroundFetchResult))compl
手机是OnePlus3T。oxygen OS版本为4.1.6。当应用程序在前台、后台但在内存中时,应用程序会收到通知。但当应用程序不在内存中(即从内存中刷出)时不会收到通知。其他安装了android操作系统版本4.2、5.1.1、6.0.1、7.1.1的设备也会收到通知,即使应用程序不在内存中。 好心建议点什么。提前道谢。
NVD报告PostgreSQL JDBC驱动程序存在具有高严重性(7.7)的XXE漏洞,请参见https://nvd.nist.gov/vuln/detail/CVE-2020-13692.此类漏洞与解析XML中的外部实体有关。 不过,我无法在PostgreSQL JDBC驱动程序中找到有关如何实际使用受感染的XML文件来利用此漏洞的信息。是当应用程序尝试将XML文件存储在数据库中时吗?是否有被解
在我的项目中,我使用了带有okta验证的reactjs程序。当我运行reactjs程序时,输出变得很好。 但是,当我使用capacitorjs将reactjs网页转换为移动应用程序时,该网页不会显示在手机中 我已经按照以下url中的步骤将网页转换为移动应用程序 https://medium.com/how-to-react/convert-your-existing-react-js-app-to
我正在尝试将运行在Jboss eap-6.3服务器上的应用程序传输到Wildfly 9服务器上。 独立日志 谁能帮帮我吗?我是JBoss和Wildfly环境的新手
有没有人能说,是否可以通过我的android应用程序执行< code>adb命令。如果有可能执行,如何实现?