-1

我的项目是建立在 C# 中 MS 的 MVC4 平台上的。

我正在提供一个视图模型,它表示前端表中的一行,并且我必须添加一个 IF 子句,该子句可能会使该行无效,表中的表示将是一个用“-”填充的行所有这些都是列。

为了填充视图模型,我必须遍历一定数量的对象,并且我必须在前端再次这样做才能正确放置它们。

我想知道,就性能而言,这会更快:

1 - 用大量“-”填充视图模型,每个对象一个迭代,然后再次迭代以用相同的信息填充所有列。

2 - 在 ViewModel 上放置一个布尔标志,指示该行无效并因此跳过后端的迭代。当我到达前端时,我会要求标志,如果它是真的,我会遍历填充它们的柱子。

我知道第二个选项更聪明似乎有点明显,但我知道代码在后端运行得更快,所以在这种情况下我很困惑。

PS我知道最好的方法是尝试它,但在测试之前我还有一些任务要做,以防万一有人遇到类似情况,我很高兴听到结果。

PS2 - 我几乎不怀疑这是一个“严格基于意见”的问题

提前致谢

4

1 回答 1

2

在第一次测试中,视图(.cshtml)中的一些代码需要 17 分钟才能呈现,不仅是 if 子句,还有其他一些计算。

考虑到它不是大量的数据,性能令人非常失望。所以我决定在后端重写整个函数,这样视图就可以完成它的设想,只显示 100% 预先计算的信息。

在后端进行所有处理后,相同的动作大约需要 1 分钟才能呈现。

吸取的教训,不要或至少避免在视图上进行最大编码,因为它的性能很糟糕。

于 2013-09-17T16:48:48.023 回答