我有个想法,我正在和一些同事商量。我们都不知道它现在是否存在。
基本前提是系统具有100%的正常运行时间,但可以动态地提高效率。
这里是这样的场景:*,所以我们快速地将系统分解到指定的一组接口上,它具有零的优化,但是我们确信它是100%稳定的,尽管(不确定,但为了这个场景,请配合)*然后我们分析原始类,并开始对瓶颈进行程序替换。*原始和替换同时启动并同步进行。*原件允许运行至完成:如果替换尚未完成,则系统将其否决为对原件的替换。*更换时必须在指定的次数和特定的数值范围内,始终返回与原值相同的值,然后才可作为原始值的替换。*如果在采用替换后发生异常,系统将自动尝试对被替换的类进行相同的操作。
你在实践中见过类似的概念吗?请评论.
下面的是关于帖子的最初问题之后写的评论:*系统演示了一种达尔文式的系统进化方法。*原始和替换将并行进行,而不是串联进行。*种族状况是多线程应用程序固有的问题,我对此表示感谢。
发布于 2008-09-13 18:21:40
我认为这是一场有趣的理论辩论,但由于以下原因并不十分实际:
唯一的“环境”,这听起来有用,实际上是“必须”是一个“遗传”系统,产生新版本的代码本身,但这是一个完全不同的故事,并没有真正广泛适用.
发布于 2008-09-13 12:29:11
在运行过程中运行性能基准的系统将比不运行的系统要慢。如果目标是优化速度,那么一旦证明运行速度更快,为什么不独立测试并导入最快的例程呢?
同时启动例程的想法可以引入种族条件。
另外,如果目标是确保100%的正常运行时间,您将不希望引入未经测试的例程,因为它们可能会生成不可捕获的异常。
也许您的想法作为基准测试的工具,而不是操作系统,有其优点?
发布于 2008-09-13 12:42:20
在实践中,我有否见过类似的概念?不是的。但无论如何我还是会提议一个办法。
似乎您的大部分目标都是由某种超级源代码控制系统来实现的,它可以用CruiseControl实现。
CruiseControl可以运行单元测试以确保新版本的正确性。
您必须编写一个CruiseControl构建器插接,它将针对一系列现有的基准测试执行系统的新版本,以确保新版本是一个改进。
如果CruiseControl构建循环通过,那么新版本将被接受。这一进程需要相当大的努力才能实施,但我认为这是可行的。单元测试和基准构建程序必须相当精巧。
https://stackoverflow.com/questions/60478
复制相似问题