Я пытаюсь использовать Octokit. net для взаимодействия с GitHub внутри простого C# консольного приложения (Visual Studio 2019, .NETCore 3.1), и я испытываю extreme медлительность проблема.
Непосредственный вызов Почтальоном API GitHub со следующим запросом GET:
https://api.github.com/repos/OrganizationName/RepoName/commits
обеспечивает ответ в течение самое большее 1500 миллисекунд , получая при этом та же информация от:
var client = new GitHubClient(new ProductHeaderValue("my-test"));
client.Credentials = new Credentials(MY_TOKEN); //same token used in Authentication header when calling API by Postman
Console.WriteLine(DateTime.Now + " Begin to await...");
IReadOnlyList<GitHubCommit> commits = await client.Repository.Commit.GetAll("OrganizationName", "RepoName");
Console.WriteLine(DateTime.Now + " Await finished...");
позволяет мне ждать столько, сколько 3 минут !
Любая идея о том, как ускорить не более пары секунд?
--- РЕДАКТИРОВАТЬ
Как отметил Джон Скит в комментариях, запрос, который я отправил Почтальоном, был быстрее всего потому что он получает только страницу коммитов, в то время как мой код Octokit получает действительно все коммитов.
При следующем редактировании Octokit просто получает одну страницу из 100 коммитов:
ApiOptions options = new ApiOptions
{
PageSize = 101,
PageCount = 1
};
IReadOnlyList<GitHubCommit> commits = await client.Repository.Commit.GetAll("OrganizationName", "RepoName", options);