- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个处理平面文件并(仅进行几次验证)插入数据库的系统。
这段代码:
//可以有800万行代码
for(String line: lines){
if (!Class.isBranchNoValid(validBranchNoArr, obj.branchNo)){
continue;
}
list.add(line);
}
isBranchNoValid
的定义:
//数组长度只能在2到5之间
public static boolean isBranchNoValid(String[] validBranchNoArr, String branchNo) {
for (int i = 0; i < validBranchNoArr.length; i++) {
if (validBranchNoArr[i].equals(branchNo)) {
return true;
}
}
return false;
}
验证是在行级别进行的(我们必须过滤或跳过数组中没有 branchNo
的行)。早些时候,情况并非如此(过滤器)。
现在,高性能退化正在困扰着我们。我理解(可能是我错了)这种重复的函数调用会导致大量的堆栈创建,从而导致非常高的GC调用。
我想不出一种方法(是否有可能)来执行此过滤器而不会造成性能下降的高昂成本(有一点差异就可以了)。
最佳答案
这肯定不是堆栈问题,因为您的函数不是递归的,调用之间堆栈中不会保存任何内容;每次调用后,变量都会被删除,因为不再需要它们。
您可以将有效数字放入一组并使用该数字进行一些优化,但就您的情况而言,我不确定它会带来任何好处,因为您最多有 5 个元素。
关于Java性能问题: Need to iterate more than 8 million records with a target-branch check,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55939802/
我的代码贴在下面。当我运行这个程序时,它一直在计算。我使用的是旧的 Turbo C++ 编译器。这样的程序需要多少时间来执行?我等了大约 5 分钟,但没有任何输出。 /*The sum of the
之前我遇到了如何将多个 JSON 文件合并为一个文件的问题,我能够用这个question的答案来解决它. 首先,我尝试通过在输入数据集的连接部分的文件名中使用通配符来仅处理一些文件。但是,当我删除文件
我意识到该网站上回答了类似的问题,但我无法从这些问题中找到解决方案。例如,我的网站上有 10,000 个帖子,每个帖子都有 50 条评论。我应该创建 1.一张表有 500.000 行(评论) 或 2
在我的数据库中的所有表中,我有两个当前具有多对多连接。然而,捕获的实际数据群体几乎总是具有一对多关联。 考虑到我希望数据库查找(学说查询)尽可能不受阻碍,我应该: 在表之间创建两个关联(其中第二个仅是
我已经搜索过,但没有发现像我这样的问题。我确定这是我看过的东西。 我正在使用 tony million 的可达性 block 方法。当我有互联网然后没有互联网时,它工作得很好。警报出现并且工作正常。
我读了这篇文章http://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/ 我在更强大的机器上尝试了这个基准
我的网站上有一百万行数据。当我想通过管理员访问此页面时,我正在等待。可能需要 40-50 秒。我做了分页 20,但没有任何改变。目前默认值为 100。 这是我的管理员密码 @admin.registe
我正在修改很久以前写的一些代码,并决定重写它以更好地利用线程(并更好地利用编程。)。 它位于:https://github.com/buddhabrot/buddhabrot/blob/master/
我被编码为一个 php 机器人。现在我想发送一个800万的请求。是的,例如: 我使用 multi_curl* 但有问题。 我使用linux并行库的问题。 也许你有什么建议? PHP 7.1.1,Lin
在 iOS 开发职位的面试中,他们问我在大型数组(> 100 万项)中查找已删除项目的最快解决方案,即:在本地,应用程序已经从服务器获取数组(我们不关心方法来从服务器获取这个数组)。然后,在服务器上,
情况 我有一个 1300 万行的 CSV,我想对每个组执行逻辑回归(incanter)。 我的文件就是这样(值只是示例) ID Max Probability 1 1 0.5 1 5 0.
我正在运行经济模拟。数百或数千个代理=随着时间的推移,对象必须对数据进行协议(protocol),数据始终具有相同的结构。它通常由许多 boolean 值、 float 和整数组成,可能是数组/列表(
我正在努力更新我的庞大数据库,但由于这次大型更新/比较,我的 wamp/Heidisql 不断崩溃。 我有两个数据库表:主表“member_all”(包含 300 万条记录)和子表:“mobile_r
我得到了一个“数据库”(更准确地说是一个丑陋的巨大 CSV 文件),其中包含“发现”过程的结果。我得到的行非常短,它们是有关 65,000 多台计算机上的许可的信息,看起来像: 10/02/2017
我有以下(简化的)代码,我想对其进行优化以提高速度: long inputLen = 50000000; // 50 million DataTable dataTable = new DataTab
我正在做 C/C++ 编程(主要是 C++),我发现自己需要分解实际上两倍相同的代码,除了每次出现的“左”都被“右”替换。代码完成后,我需要知道正在执行的是“左”还是“右”版本,仅此而已,两者都会返回
场景:具有一百万个条目的 MySQL 数据库,包含 Youtube channel ID 和订阅者计数。现在我想定期更新订阅者数量(也许每周一次)。 我想知道 API 是否可以实现如此大的请求?如果是
如果 pgsql 在文件系统上为每个表存储 1 个文件并为每个查询搜索 pg_catalog 以进行查询计划,那么单个 pgsql 数据库中可以包含多少个表,同时仍然保持良好的性能? EG:pgsql
我有以下任务分配给我: 获取一个包含多个表和数十万个条目的当前数据库,并编写一个脚本,将大部分数据传输到具有不同结构的单独数据库。 基本上已经创建了一个具有不同表结构的新数据库,我需要(在确认所有数据
我有一个表,我必须从中获取大约 700 万条记录,这也会达到 10 亿条记录(因为每天都会添加数据) 我正在使用 mysql-python 连接到远程 MySQL 数据库 我查询如下 cursor =
我是一名优秀的程序员,十分优秀!