Как ускорить выполнение метода?

У меня есть следующий метод:

    public async Task<IList<YearLink>> GetYearLinksAsync(IEnumerable<ModelLink> modelLinks, CancellationToken cancellationToken = default)
    {
        var yearLinks = new List<YearLink>();

        var config = Configuration.Default.WithDefaultLoader();

        var context = BrowsingContext.New(config);

        foreach (var modellink in modelLinks)
        {
            var document = await context.OpenAsync(modellink.Url, cancellationToken);

            var links = document.QuerySelectorAll(".mosaic-list a").Select(x => x.GetAttribute("href")?.Trim());

            foreach (var link in links.Where(x=>!x.Contains("used")&&!x.Contains("new")).Select(x=>x))
            {
                Console.WriteLine(link + "specifications/");

                var year = new YearLink()
                {
                    Url = link + "specifications/"
                };

                yearLinks.Add(year);
            }
        }

        return yearLinks;
    }

Он получает характеристики автомобиля с сайта Auto.Ru. То есть я получаю ссылки на страницы с характеристиками, таких страниц примерно будет 100000 - 150000. Как можно ускорить выполнение метода?


Ответы (0 шт):