首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mono Tasklet/Co例程的开销

Mono Tasklet/Co例程的开销
EN

Stack Overflow用户
提问于 2009-08-17 19:52:31
回答 2查看 1.2K关注 0票数 4

主要性能开销是什么(gc/堆栈复制.)新的Mono延续/任务框架?

这种开销(coroutine性能/原始性能)与其他框架(如Lua Coroutine和无堆栈python? )相比如何?

在Mono2.6中,将增加连续/协同支持。我构建了一个svn版本,并使用下面的代码来估计其开销

代码语言:javascript
复制
static void Main()
{
    Console.WriteLine("starting.,..");
    for(int i = 0; i < 10000; i++)
    {
        MicroThread t1 = new MicroThread(Run1);
        t1.Start();
    }
    Scheduler.Run();
    Console.WriteLine("starting raw loop.,..");
    int x = 2;
    for (int i = 0; i < 10000 * 400; i++ )
    {
        x++;
    }
    Console.WriteLine("1finished.,.. " + x.ToString());
    Console.ReadLine();
}

static void Run1()
{
    for (int y = 0; y < 400; y++)
    {
        MicroThread.CurrentThread.Yield();
    }
}

微线程/调度程序运行大约需要1.5到2秒,而raw循环几乎是瞬间的。虽然预计会有一个开销,但这似乎有点大。

新的Mono延续/Tasklet框架的主要性能开销是什么?与其他框架(如Lua和无堆栈python )相比,这种开销(coroutine性能/原始性能)如何?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-18 06:53:13

如果我没有计算错的话,您的代码每秒会产生200多万个输出,这应该与无堆栈的python大致相同。

考虑到mono通常执行实际应用程序代码的速度是python的10至100倍,除非您的所有代码都是在不执行任何实际工作的情况下生成,否则性能可能会非常好:)

票数 5
EN

Stack Overflow用户

发布于 2009-08-17 23:03:50

考虑到只有很少的人有专业知识来回答这个问题,你可能不得不去问他们,并在单一发展清单上询问。

在引入monoco/tasklet时,您还可以查看档案以查看有关它的讨论:

http://lists.ximian.com/pipermail/mono-devel-list/2009-April/031680.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1290051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档