【问题标题】:Benchmarking Perl function between Git branches在 Git 分支之间对 Perl 函数进行基准测试
【发布时间】:2012-06-02 00:01:19
【问题描述】:

我目前正在对 Git 版本控制下的大型应用程序进行一些重构。 我希望能够在我的主分支和我的不稳定分支之间对我修改过的函数进行基准测试。

目前我正在考虑做一个简单的脚本,例如:

use Benchmark qw(:all) ;
use my_module ;

$count = -10

# Checkout my master code
system qw(git checkout <my_currently_in_production_version>) ;

timethis($count, sub {my_function()});

# Checkout my unstable code
system qw(git checkout <my_currently_unstable_version>) ;

something_to_reload_my_module();

timethis($count, sub {my_function()});

但这对我来说有点骇人听闻。 Git 分支之间的基准函数是否有更简洁的解决方案?

感谢您的帮助

编辑:我主要是在寻找像 Benchmark 模块这样的东西,但支持分支更改(如果存在)。

【问题讨论】:

    标签: perl branch benchmarking git-branch


    【解决方案1】:

    好吧,您需要检查每个版本,但我不会尝试“卸载”任何内容。那只是自找麻烦。这意味着需要运行两个 Perl 解释器:一个用于旧代码,一个用于新代码。

    我要做的是编写一个脚本来执行适当的计时并将结果保存到文件中。在两个结帐时运行它。让第二个脚本比较结果。

    git checkout stable
    ../tools/time_test > stable
    git checkout unstable
    ../tools/time_test > unstable
    compare_times stable unstable
    

    (前四行可以由compare_times通过system完成。)

    【讨论】:

    • 这可能确实比重新加载代码更安全。但我主要是在寻找一个模块解决方案(比如使用具有切换分支能力的 Benchmark)。如果我没有找到任何其他解决方案,你将是答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2011-04-06
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多