Octokit. net очень медленно - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь использовать 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);
...