У меня действительно плохие проблемы с производительностью, когда код выполняется на моем сервере Ubuntu или любом другом сервере Ubuntu (я пробовал 3 разных сервера).
Немного информации: у меня есть текстовый файл (40-й sh МБ) с элементами. Я помещаю каждую строку текстового файла в список (потому что мне нужен каждый элемент), это происходит менее чем за 100 мс. Затем позже мне нужен новый список, который содержит только определенные элементы, которые начинаются с X или Y. Я использую LINQ, чтобы сделать это:
List<string> secondList = ListItems.Where(x => x.StartsWith(X) || x.StartsWith(Y)).ToList();
Эта строка кода, в частности, занимает 0,5 секунды на моем windows машина, но 9-15 секунд на сервере Ubuntu (на сервере Ubuntu аппарат намного лучше, чем на моей Windows машине).
Я пробовал циклы for, циклы foreach, но все они приводили к одному и тому же времени (9-15). Все остальное работает отлично и очень быстро. Это просто строка кода, которая занимает очень много времени (по сравнению с остальной частью кода) на машинах Linux.