我正在使用一个使用游戏手柄的Xamarin iOS应用程序,并通过基于客户TCP的协议将输入推送到服务器,速率约为40消息/秒。
什么会产生最佳的应用程序性能结果;有专门的线程发送消息,或使用async / await,如下所示:await WriteAsync(data, 0, data.Length).ConfigureAwait(false)
答案 0 :(得分:1)
使用ConfigureAwait(false)
肯定有利有弊。这将允许工作返回到任何可用的线程,但涉及context-switch
线程的额外开销。
但是,如果您的邮件系统即发即弃,并且您的邮件由其他某个流程处理,则无需await
您的方法。
ConfigureAwait(true)
(默认)可以更好地避免上下文切换,记住这些事情也依赖于硬件。
这可能更有用:When to use ConfigureAwait