gpt4 book ai didi

c# - 为 90K 条记录生成 PDF

转载 作者:行者123 更新时间:2023-11-30 17:39:09 25 4
gpt4 key购买 nike

目前我正在使用 LocalReport。渲染为 90K 记录创建 PDF。使用普通的“for”循环,仅创建 PDF 大约需要 4 个小时。我尝试了很多选择。

  1. 尝试使用并行。 Foreach 使用和不使用不同的值设置 MaxDegreeOfParallelism。我的系统中有 2 个处理器。通过设置 MaxDegreeOfParallelism(MDP) =4,它会像正常的“for”循环一样花费时间。我认为将 MDP 增加到 40 会加快这个过程。但由于耗时 900 分钟,没有得到预期的结果。

  2. 用过

    var list=List<Thread ()>;
    foreach (var record in records) {
    var thread = new Thread (=> GeneratePDF());
    thread.Start();
    list.Add(thread);
    }
    foreach(var listThreads in thread){
    listThreads. Join();

我是这样使用上面的代码的。但它最终创建了太多线程并花费了更长的时间。

我在使用 Parallel 方面需要帮助。 Foreach 可加快为 90K 记录创建 PDF 的过程。更改代码的建议也是可以接受的。任何帮助将不胜感激。

谢谢

最佳答案

我不知道任何 pdf 生成器,所以我只能假设在初始化和完成时有很多开销。这就是我要做的:

寻找开源 pdf 生成器。

让它生成几个单独的 pdf 片段 - 页眉、页脚等。

挖掘代码以找到页眉/页脚的完成位置,并尝试解决它们以重用生成器状态,而无需运行整个过程。

尝试将来自存储状态的 pdf 和仅写入不同部分的生成器拼接在一起。

关于c# - 为 90K 条记录生成 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com