gpt4 book ai didi

c# - WebAPI 2 : is a void response faster then IHttpActionResult?

转载 作者:可可西里 更新时间:2023-11-01 16:50:10 26 4
gpt4 key购买 nike

我今天在我的 WebAPI2 中构建了一个方法。并提出问题是我应该使我的方法无效还是将其保留为 IHttpActionResult?

作为优势,我看到 IHttpActionResult 可以返回任何响应代码。 void 方法的优点是什么?它是更快还是唯一的区别是它总是响应 200(或者它是 204?)。

有人知道哪个更快吗?或者它是否与我命名的那些有任何其他主要区别? (这包括 void 无法响应任何内容而 IHttpActionResult 可以......)

最佳答案

@Felipe Oriani,你完全正确..我很好奇所以我做了测试。看到这个惊人的输出。

Test shown

  • Void 平均响应时间为 2.075 毫秒
  • IHttpActionResult 平均响应时间为 1.651 毫秒!

所以这是 0.424 毫秒的差异

这是使用以下 webAPI 代码

[Route("test/void")]
public void GetFirst()
{
StringBuilder stringbuilder = new StringBuilder();
for (int i = 0; i < 20; i++)
{
stringbuilder.Append("something");
}
//Thread.Sleep(1000);
}

[Route("test/IHttpActionResult")]
public IHttpActionResult GetSecond()
{
StringBuilder stringbuilder = new StringBuilder();
for (int i = 0; i < 20; i++)
{
stringbuilder.Append("something");
}
//Thread.Sleep(1000);
return Ok();
}

我还尝试在每个请求上为 webAPI 提供更多工作......以查看差异是否保持不变,或者对于更长的操作,使用 IHttpActionResult 而不是 void 是否是一个真正的改进?

我将迭代设置为 200000 并在 WebAPI 代码中取消注释 Thread.Sleep(1000)

现在结果:

  • Void 平均响应时间为 11.64 毫秒
  • IHttpActionResult 平均响应时间为 11.11 毫秒

所以这是 0.53 毫秒的差异

对此我可以得出结论并确认,你说的是真的。而 IHttpActionREsult 确实比 void 更快。唯一的区别是要真正注意到一些东西。但是,如果您正在寻找较小的迷你优化?这是其中之一!

下图为结果! second test result

关于c# - WebAPI 2 : is a void response faster then IHttpActionResult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22689888/

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