![]() |
1
9
我敢打赌,您的硬件供应商正在询问您需要多少mip。 如“您需要1000 mips处理器还是2000 mips处理器?” 管理层将其翻译为“多少MIP?” 硬件提供MIP。软件消耗MIP。 你有两个自由度。
如果处理器没有足够的MIP,您的算法将“慢”。 如果处理器有足够的MIP,您的算法将“快速”。 我把“快”和“慢”放在引号中,因为您需要有一个性能需求来确定“足够快以满足性能需求”或“太慢以满足性能需求”。 在2000 mips处理器上,可能需要2秒钟的时间。但在1000 mips处理器上,这会爆炸到不可接受的4秒。 你需要多少mip?
记住速率(每秒指令数)*时间(秒)给你指令。 不要说是3*750英里。不是,是2.25亿条指令。 |
![]() |
2
3
一些注释:
在PC上,您不能以任何方式对此进行近似。您需要拿出一些工具中的一个来正确执行此操作:
|
![]() |
3
2
MIPS 通常用于测量处理器的性能。 算法通常采用:
用每秒指令来描述一个算法似乎是一个奇怪的度量,但是我当然不知道你的算法做了什么。 为了提出一个有意义的度量,我建议您设置一个测试,它允许您测量算法完成所用的平均时间。装配指令的数量是一个合理的度量,但是很难计算它们!您的最佳选择如下(伪代码):
|
![]() |
4
1
MIPS是CPU速度的度量,而不是算法性能。我只能假设这条线的某个地方,有人有点困惑。他们想知道什么?我能想到的唯一可能的情况是,他们正试图帮助你确定他们需要给你多少速度的处理器才能让你满意地运行你的程序。 因为您可以用指令的数量来度量一个算法(这无疑取决于输入数据,所以这是非常重要的),所以您需要一些时间度量来获得MIP——例如,说“我需要每秒调用1000次”。如果您的算法是针对特定情况的1000条指令,那么您将得到:
我仍然认为这是一个非常奇怪的方法来尝试做事情,所以你可能想要求澄清。至于您的具体问题,我将把它留给更熟悉Visual Studio的人。 |
![]() |
5
1
还要记住,不同的编译器和编译器选项会产生巨大的差异。同一源代码可以以许多不同的速度运行。因此,您可以使用1/2Mips处理器并使用编译器选项,而不是购买2Mips处理器。或者把钱花在更好的编译器上,使用更便宜的处理器。 基准测试充其量是有缺陷的。作为一个爱好,我曾经在不同厂商的不同编译器上为同一个硬件编译相同的Dhrystone(和Whetstone)代码,而且这些代码的数量到处都是,数量级。同样的源代码同样的处理器,Dhrystone并不意味着什么,也不作为基线有用。基准测试中最重要的是你的算法运行得有多快,它最好比需要的快或快。根据离终点线的距离,你可以有足够的坡度。早期可能希望运行速度比需要的快5、10或100倍,这样到项目结束时,您至少比需要的快一点。 我同意我认为S.Lott所说的,这是所有销售、营销和管理方面的谈话。作为一个管理层已经把石头和硬地方之间的一个,那么你需要做的是让他们购买最快的处理器和最好的工具,他们愿意花基于彩色饼图和图形,你将从稀薄的空气中产生作为理由。如果在接近尾声时,它不能完全满足性能要求,那么您可以返回StackOverflow,但同时,管理层将被迫以几乎任何价格购买不同的工具链,或者交换处理器和响应板。到那时,你应该知道你离目标有多近,我们需要1.0,如果我们买的处理器速度是我们买的处理器的两倍,我们的速度是1.25。 你是否可以自动化这些东西或模拟它们取决于工具,有时是,有时不是。我不熟悉你所说的工具,所以我不能直接和它们说话。 |
![]() |
6
1
这个回答不是为了直接回答问题,而是为了提供关于这个问题被问到的原因的附加上下文。 算法的MIPS仅与需要在所需时间内响应事件的算法相关。 例如,考虑设计用于检测风速的控制器,并在风速超过25英里/小时时在一秒钟内移动执行器。假设我们需要1000个指令来计算和比较风速与阈值。此算法的MIPS要求是每秒1千条指令(kips)。如果控制器基于1 mips处理器,我们可以轻松地说控制器中有更多的果汁来添加其他功能。 可以在控制器上添加哪些其他功能?这取决于要添加的函数/算法的MIP。如果还有另一个功能需要在一秒钟内执行100000条指令(即100 kips),我们仍然可以适应这个新功能,并且还有一些空间添加其他功能。 |
![]() |
7
0
对于第一次评估,PC上的基准可能很有用。 但是,在您提交到特定的设备和时钟频率之前,您应该获得一个开发板(或者一些PDA?)对于ARM目标体系结构,并在那里进行基准测试。 现在的机器上有很多影响速度的因素(缓存、管道、不同的指令集,…),所以你在PC上的基准测试可能离ARM远了。 |
![]() |
Megadardery · 如何测试两种算法并确定哪种算法更快? 6 年前 |
![]() |
em1031 · 查找上一期价值的最快方法? 7 年前 |
![]() |
Dusol · 使用多核时是否可能超出带宽限制? 7 年前 |
![]() |
ezekiel · C与Python/numpy的数学表现较差 7 年前 |
![]() |
Chris · OutOfMemoryError:GC开销限制超过标准 7 年前 |
|
user8477039 · 在Ruby/Rails中处理大型数据集导入 7 年前 |