gpt4 book ai didi

c# - 具有异步任务的 BenchmarkDotNet

转载 作者:行者123 更新时间:2023-12-04 16:04:01 25 4
gpt4 key购买 nike

我正在尝试运行此代码:

public class Parsing
{
private const string Url ="blabla";
private static HttpClient client = new HttpClient();

private static Task<string> newton = ParseNewton();
private static Task<string> servicestack = ParseServiceStack();

[Benchmark]
private static async Task<string> ParseNewton()
{

var response = client.GetAsync(Url).Result;

var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);

var serializer = new Newtonsoft.Json.JsonSerializer();

using (var sr = new StreamReader(stream))
using (var jsonTextReader = new JsonTextReader(sr))
{
return serializer.Deserialize<string>(jsonTextReader);
}

}

[Benchmark]
private static async Task<string> ParseServiceStack()
{

var response = client.GetAsync(Url).Result;

var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);

return ServiceStack.Text.JsonSerializer.DeserializeFromStream<string>(stream);

}
}

电话是
internal class Program
{
public static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<Parsing>();

Console.ReadKey();
}
}

我很确定我做错了很多事情(因为它不起作用);我总是收到消息 No Benchmark found 并且从我发现的样本中我找不到如何使它工作。

我想从 NewtonSoft 和 ServiceStack 给出的 url 中反序列化 1000 次相同的响应,并从中获得一个很好的基准。我怎样才能使这段代码工作,我做错了什么?

最佳答案

类和方法都需要是公共(public)的,不能是静态的。类也不能被密封。

关于c# - 具有异步任务的 BenchmarkDotNet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49536585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com