问题标签 [batching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
264 浏览

java - Java:批处理整数

我想知道最好的方法是在处理时间方面对一组给定的数字进行批处理。Take items:9, 18, 7, 8, 4, 9, 11, 15, 3, 8, (item 1的处理时间为9,item 2的处理时间为18,以此类推)

如果批处理时间限制设置为 20,则可能将项目分组为:({1, 3, 5} {2} {4, 6} {8, 9} {7, 10}组 1 为 9+7+4=20)等,因此已制作了 5 批项目,其中内容为 < = 20。

理想情况下,我希望它将它们分类为尽可能少的组。上面的案例是最少 5 个组,内容限制为 20...

谢谢

0 投票
0 回答
1549 浏览

c# - 如何在运行时动态更改批块的批大小?

我在 tpl 数据流中有一个批处理块,并且有几个目标块链接到批处理块。但是,目标块的数量会动态变化,因此批次的大小也会随之变化。问题是必须在初始化批处理块时提供批处理大小,我看不到稍后调整它的方法。任何想法如何解决这个问题?是取消链接的唯一方法(处理所有到批处理块和批处理块的链接),用新的批处理大小重新初始化批处理块,然后再次链接?我可以这样做,但是如何确保旧批次和新批次不会混在一起呢?

例如,如果我有 2 个转换块流式传输到批处理块,现在有一个额外的转换块并且想要将批处理大小增加到 3,我如何确保在增加之前处理所有先前的批处理以确保同步行为?关键是所有变换块都获得完全相同的项目,并且这些变换块的输出应该以只有那些匹配相同输入的输出被批处理的方式进行批处理。

这是我想要的示例:

用于转换块的恒定整数流:1,2,3,[批量大小增加的点],4,5,...

让变换块输出他们得到的东西,比如 1 => 1

所以 batchblock 应该像这样输出:[1,1], [2,2], [3,3], [change of batch size], [4,4,4], [5,5,5],.. .

这是我当前的代码:

0 投票
1 回答
894 浏览

mysql - 如何配置自定义 MySQL NHibernate Batcher?

带有 MySQL Dialect 的 NHibernate 不支持开箱即用的批处理。我在 nuget 上找到了用于 NHibernate 的自定义 MySQL Batcher。另外,以下是github链接:

https://github.com/Andorbal/NHibernate.MySQLBatcher

但我不知道如何将其注入/设置到我的hibernate.cfg.xml配置中。

如何配置自定义 MySQL NHibernate Batcher?

0 投票
1 回答
838 浏览

c# - Facebook C# SDK 批量请求提要,带有用于照片数据的 object_id

我正在使用 C# Facebook SDK 向 Facebook 查询 /home 提要,并且提要包含照片。提要中的“图片”链接是低分辨率的,所以我必须从提要中查找照片的“object_id”才能获得高分辨率版本。

这就是我想要完成的

  1. 获取 /home 饲料
  2. 从 /home 响应中的所有“object_id”中,获取“object_id”

    /li>

我遇到的问题是 object_id 调用失败,但出现以下异常:

{"error":{"message":"(#803) Some of the aliases you requested do not exist: 432468803491390,10151350857109036,388654974561669,197117360426100,443878372332478,445366662199631,457265447662406,475836539118390,474145425981640,363838440380681","type": "OAuthException","code":803}} 对象 {Facebook.JsonObject}

这是第一次调用的数据的样子:

在graph API中,object_id可以这样直接查询:/379861798777414

我不知道为什么,但我无法像这样从批处理参数中调用 object_id。有点卡在这里。

0 投票
1 回答
5431 浏览

xml - 如何批量更新 XML 文件

我有一堆符合相同模式的 XML。我要批量编辑的特定元素仅在每个 XML 文件中出现一次,并且在每个文件中具有相同的 xPath。

我想创建一个脚本/过程,以便我可以替换此特定元素的值(我相信它更准确地称为节点的文本值),并对一组文件夹中的所有 XML 文件执行该更新. 比如现在是:

我希望它是

反而。

我目前刚刚开始涉足编程领域,以及学习一般的 XML 数据——我需要一些关于如何开始的基本信息。最好的方法是什么?我有 Altova XMLSpy,我知道它有一个脚本组件。但是用特定的编程语言(我目前正在学习 Visual Basic)执行此操作是否更合适,或者是否存在其他一些用于执行这些类型的批量更新的软件?

任何能让我朝着正确方向前进的信息都会很棒!

谢谢!

更新 (06/26/13)

FilingSoftwareId(和更新的元素名称)的 XPath 实际上是:

ValidFiling 是 XML 文档的根。我使用了您提供的内容并进行了相应更新,但是当我在 Altova XMLSpy 中选择此 XSL 文件进行 XSL 转换时,我的结果是我原始 XML 文件的副本。

当第二个包罗万象的模板应用于文档时,是否有可能将 FilingSoftwareID 的更新替换为原始值?

再次感谢!

0 投票
1 回答
1755 浏览

opengl - 渲染中最先进的剔除和批处理技术

我目前正在升级和重组 OpenGL 渲染引擎。该引擎用于可视化建筑数据的大型场景(带有内部的建筑物),并且对象的数量会变得相当大。与任何建筑物一样,墙壁内有很多被遮挡的物体,您自然只能看到与您在同一房间内的物体,或者如果您在外面,则只能看到外部。这留下了大量应该通过遮挡剔除和截锥剔除来遮挡的对象。

同时有很多重复的几何体可以在渲染批处理中进行批处理,也有很多对象可以通过实例渲染进行渲染。

在我看来,很难以最佳方式结合渲染批处理和剔除。如果在同一个 VBO 中批处理太多对象,则很难在 CPU 上剔除对象以跳过渲染该批处理。同时如果你跳过cpu上的剔除,很多物体会在不可见的情况下被GPU处理。如果您完全跳过批处理以便更轻松地剔除 CPU,则会出现大量不必要的渲染调用。

我已经对现有技术和理论进行了一些研究,以了解如何在现代图形中解决这些问题,但我一直无法找到任何具体的解决方案。一个同事和我想出的一个想法是将批次限制在彼此相对靠近的物体上,例如房间内的所有椅子或 n 个会面半径内的所有椅子。这可以通过使用八叉树来简化和优化。

有没有人对最先进的现代图形引擎中用于场景管理、剔除、批处理等技术的任何指示?

0 投票
0 回答
1728 浏览

sql - java.sql.SQLException:操作不能与 Oracle 样式的批处理混合

我不太确定混合 JDBC 和 Oracle 批处理......我读到我不能在一个实例上混合它preparedStatment......因为:Oracle 更新批处理模型 - 在同一应用程序中使用两种批处理模型

但我也发现一些说即使在单个应用程序中也不能混合使用... http://docs.oracle.com/cd/B10500_01/java.920/a96654/oraperf.htm

所以知道我不确定问题出在哪里......

我在每次调用函数时创建一个新的准备好的语句:

然后我有时会收到一个错误...:

原因:java.sql.SQLException: operation not allowed: operation cannot be mixed with Oracle-style batching

也许是prepareStatment来自同一连接的问题?我真的不确定。

有人可以帮助我吗?谢谢

编辑: 这个错误是由这个调用引起的:insStm.addBatch();

0 投票
1 回答
33 浏览

java - hibernate 批处理,上传脚本和批处理内容

我对休眠还很陌生。我正在上传一个 sql 脚本并将每个语句审核到一个数据库中。因此,每个语句都将作为字符串保存到数据库中。但是,此文件最多可包含 50,000 多个语句。我一直在阅读休眠批处理,但我想知道设计和实现它的最佳方法是什么。

到目前为止,文件上传正常,我正在从脚本中的每个语句创建一个列表,然后我通过休眠单独保存每个对象。显然不适合性能!

我想知道我是否还应该从脚本中制作一个包含 50,000 多个对象的巨大列表 - 在控制器端然后将其传递给 DAO,或者我应该解析文件,比如一次 100 行,然后创建一个 100 的列表对象,将每个列表传递给 service->DAO.. 并不断这样做直到文件结束。

专家将如何处理这个设计?

谢谢!

0 投票
1 回答
204 浏览

msbuild - MSBuild批处理迭代器在同一迭代中不同

我刚开始在我的一个 MSBuild 脚本中使用批处理,以便为列表中的每个客户部署一次项目。一切似乎都按计划进行,但后来我发现了一个奇怪的问题:在每次迭代结束时,该任务应该制作一个 MSI 文件的副本并将其放在客户特定的目录中,其中包含一个客户-具体文件名。发生的情况是 MSI 文件被赋予了适当的名称,但是两个 MSI 文件都被复制到同一个文件夹中(属于“Customer2”)。

当我查看构建日志时,我可以看到两个复制任务都在构建结束时完成。有人可以解释为什么会这样吗?我想要的是在继续下一个客户之前运行整个“部署”目标。

这是 MSBuild 代码。我已经剪掉了一些不应该相关的东西:

更新:如果我%(Customer.Identity)直接引用迭代器而不是使用$(DeploymentDirectory)“Exec”调用中的属性,它会起作用。像这样:

因此,似乎名为“DeploymentDirectory”的属性在被引用时并未使用正确的客户进行更新。我还能做些什么来确保在循环的每次迭代中“刷新”属性?

0 投票
1 回答
143 浏览

c# - 非 OpenGL/XNA 环境中的 Sprite 批处理

我一直在用 Visual C# 开发一个游戏(我知道这不是最好的平台),而且,正如预期的那样,它开始运行得相当缓慢。运行一些测试表明,主要的阻碍在于绘制图像。我被告知 Sprite Batching 是一个很好的解决方案。

问题是,我在精灵批处理中找不到任何不特定于 XNA 或 OpenGL 的东西。我对这个过程知之甚少,我希望获得一些信息,了解是否可以使用 Visual Studio 的 Visual C# 实现这样的事情,以及(如果可以)我可以去哪里了解更多信息。如果没有,是否有任何其他有用的方法可以加快进程?谢谢!