我刚想回复一个帖子就看到了@tx尼尔森已经做出了同样的回应(有惊喜!)。 我想对这个回应表示“赞扬”,但别无选择。 有一个选项可以给“帖子”(即问题)点赞,但这对我来说意义不大。 我错过了什么吗?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />保存到数据库太慢(每分钟 10k 条记录)有回复姆夏普这让我想起了 JMP 13 计划的性能增强。(感谢 Jeff Polzin!)
Msharp 提到数据库更新功能比其他技术更快,但仍然不是很好。(并且看到布赖恩·布恩也是对原始问题的回答...另一个 JMP 13 性能增强。)我查看了脚本(这是使用 JSL 和 SQL 的巧妙方法),发现它将项目添加到列表的末尾,如下所示:
// 向前构建
转发列表 = {};
开始时间 = 滴答秒();
对于( i = 0, i < 30000, i++,
插入(前向列表,i)
);
停止时间=滴答秒();
显示(停止时间 - 开始时间);
停止时间 - 开始时间 = 1.68333333334886; // JMP 12 次
这在 JMP 12 及更早版本中确实很慢。该列表由其第一项在内部保存,最后一项必须通过遍历列表的长度来发现。InsertInto() 默认添加到列表末尾。 这会带来 N^2 性能:列表长度加倍,时间增加四倍。有一种方法可以避免它:
// 构建反向
反向列表 = {};
开始时间 = 滴答秒();
对于( i = 0, i < 30000, i++,
插入(反向列表,i,1)
);
反向列表=反向(反向列表);
停止时间=滴答秒();
显示(停止时间 - 开始时间);
停止时间 - 开始时间 = 0.0333333334419876;
这样更好。使用第三个参数 1 调用 insertinto() 函数以插入到列表的前面。请注意,对reverse() 函数的调用也包含在报告的时间中。答案是一样的:
显示(反向列表==正向列表);
反向列表 == 正向列表 = 1; // 好,无论哪种方式都相同的答案
期待 JMP 13 吗?这里是:
// 向前构建
转发列表 = {};
开始时间 = 滴答秒();
对于( i = 0, i < 30000, i++,
插入(前向列表,i)
);
停止时间=滴答秒();
显示(停止时间 - 开始时间);
停止时间 - 开始时间 = 0.0166666668374091; // 杰夫太棒了!
长话短说,如果您有一个 JMP 12 脚本正在构建包含 100 多个左右项目的列表,请在前面插入,然后反向插入。不管怎样,JMP 13 都会很快。
我在讨论部分没有看到用于回复的“点赞”按钮。 仅适用于第一篇文章。 这是11月3日发布的最后回复:

点赞按钮现在又回来了,可以进行回复。 对于它的短暂缺席,我深表歉意。 
我没有看到奇怪的计数行为@pmroz报告。 如果继续的话请告诉我。
我也注意到了这一点。 我想向发布解决方案的人表示感谢,但现在这是不可能的,因为“荣誉”按钮没有出现。
另一件事 - Kudos 按钮的行为不一致:
0 点赞:点击并出现 1
2 点赞:点击并出现 1(??)