当前位置: 首页 > 知识库问答 >
问题:

Java中的大量独立计算

督翰学
2023-03-14

用数组和for循环

double[] dp1 = ...;//some source
double[] dp2 = ...;//some source
double[] result=new double[dp1.length];
for (int i =0;i < dp1.length;i++){
result[i]=dp1[i]+dp2[i]+myconst;
}

有溪流

ArrayList<MyObj> source = ...// some source of obj with dp1 and dp2

ArrayList<Double> result = source.stream().parallel().mapToDouble(a->a.dp1+a.dp2+myconst);

一般来说,我知道ArrayList有开销,这可能导致数组的最小大小在看到增益之前。此外,如果有更好的方法来执行流操作或迭代。不确定forEach在这种情况下是否有效,因为它是一个终端操作,我需要按照array/arrayList的原始顺序捕获结果。

共有1个答案

周涵畅
2023-03-14

如果计算是独立的,可以考虑使用并行流。但你得确认一下时间...

在900K尺寸下,通过简单计算,性能可能相差不大。但每项计算量大,会提高计算速度。

https://www.baeldung.com/java-when-to-use-parallel-stream

 类似资料:
  • 如何确定流中对象的不同属性的最小值和最大值?我已经看到了关于如何得到同一变量的最小值和最大值的答案。我还看到了关于如何使用特定对象属性(例如)获取最小值或最大值的答案。但是我如何获得流中所有“x”属性的最小值和所有“y”属性的最大值呢? 假设我有一个Java

  • 编写一个程序,当给定一个代表地毯的字符串时,输出其价格。示例:abacx答案:20(长度5乘以4种不同类型) 以下是我到目前为止的情况。以下是测试案例3a)qiraat 3b)cdefghijklmnopqrstuwxyz 3c)warrior 3d)SupercalibragilisticExpialidious

  • 无向图G=(V,E)的独立集是V的子集I使得I中没有两个顶点相邻。也就是说,如果u和v在I中,那么(u,v)不在E中。极大独立集M是一个独立集,这样,如果我们给M添加任何附加的顶点,那么它将不再是独立的。每个图都有一个极大独立集。(你能看到这个吗?这个问题不是练习的一部分,但值得思考。)给出了一个计算图G的最大独立集的有效算法。该方法的运行时间是多少? 我不确定对深度优先搜索的修改是否能解决上述问

  • 我是Websphere MQ(IBM z/OS)技术的新手。我们需要实现一个独立的应用程序,该应用程序使用JMS技术连接到一个MQ服务器(在IBM z/OS上,由一个不同的组织维护,我们只有有限的访问权限),并将一条消息放到队列中。 下面是我的代码片段。 请帮助我如何将消息放入EBCDIC格式。

  • 问题内容: 我从事Java已有很长时间了,但是从未遇到过这样的事情。我想知道它的作用以及为什么它不是错误。 我想知道单个块的目的是什么,其中包含对“ doSomething()”的调用。它只是一个基本代码。我遇到的实际代码位于http://www.peterfranza.com/2010/07/15/gwt- scrollpanel-for-touch-screens/ 问题答案: 这是一个(非静

  • 我想计算Python3中一个非常大的数字的立方根。 我尝试了下面的函数,以及Python语法,但它们都产生了一个错误: 溢出错误:(34,数值结果超出范围) 我真的需要计算立方根来解决密码学中的一个问题。 二进制搜索: 编号: