我在 C# 上使用 peachpie 编译器编译了 php 代码,但问题是编译后当我调用函数时,它比用 C# 编写的相同函数花费的时间要多得多。
所以我想知道我可以提高 peachpie 编译器上下文的性能。
或者是否有任何我们可以将 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;}