C#C
C#15mo ago
SWEETPONY

✅ How to optimize this code?

Hello, I'd like to optimize my code. The best time I got: 00:00:00.536 with chunks count = 256
536ms actually is not too bad but is it possible to speed up method?
private async Task<IEnumerable<JsonNode?>?> GetDmnTasksAsync(IReadOnlyList<PassengerArrivalChunk> chunks)
{
    var tasks = chunks.Select(async chunk =>
    {
       var serializedChunk = Serializer.Serialize(new { passengerArrivalChunk = chunk });

       using var response = await httpClient
          .PostAsync(processingSettings.DmnUrl, new StringContent(serializedChunk, Encoding.UTF32, MediaTypeNames.Application.Json));

       var responseMessage = await response.Content.ReadAsStringAsync();
       var jsonArray = JsonNode.Parse(responseMessage)?["Tasks"]?.AsArray();

       return jsonArray?.Select(el => el).Where(x => x != null);
    }).ToList();

    var results = await Task.WhenAll(tasks);
    return results.SelectMany(result => result ?? []);
}
Was this page helpful?