0

我在 C# 上使用 peachpie 编译器编译了 php 代码,但问题是编译后当我调用函数时,它比用 C# 编写的相同函数花费的时间要多得多。

所以我想知道我可以提高 peachpie 编译器上下文的性能。

或者是否有任何我们可以将 php 代码转换为 C# 代码的方法。

我运行了一些基准测试,但差异很大。我也想要表现。基准 php 使用 c# 运行

基准 php 使用 c# 运行

const string ScriptPath = @"Index.php";
    var fullpath = ScriptPath;

    var ctx = Context.CreateConsole(string.Empty, args);
    var script = Context.DefaultScriptingProvider.CreateScript(new Context.ScriptOptions()
    {

        Context = ctx,
        Location = new Location(fullpath, 0, 0),
        EmitDebugInformation = true,
        IsSubmission = false,
        AdditionalReferences = new string[] {
                typeof(Program).Assembly.Location,
                typeof(Peachpie.Library.Graphics.PhpImage).Assembly.Location,
                typeof(Peachpie.Library.MySql.MySql).Assembly.Location,
                typeof(Peachpie.Library.Network.CURLFunctions).Assembly.Location,
            }
    }, File.ReadAllText(fullpath));
    try
    {
        var res = script.Evaluate(ctx, ctx.Globals, null);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message.ToString());
    }
    var res1 =  _context.Call("Multiply", 123, 123,123);

C# 方法

 public int MultiplyCSharp(int num1, int num2, int num3)
    {
        var sum = num1 * num2 * num3;
        return sum;
    }

php函数

function Multiply($num1, $num2, $num3 ) {
$sum = $num1 * $num2 * $num3 ;
return $sum;}
4

0 回答 0