dmitriyivvvv, замените foreach на for, и так же используйте верхнюю границу массива в нём. Так вы уменьшите число итераций, в некоторых случаях - значительно
dmitriyivvvv, обрезание массива работает медленнее чем хранение границы массива в переменной. arr.push([curr, ints[i], i]);
Пуш данных в массив работает значительно медленнее, чем хранение индексов в массиве.
Массив результатов вам не нужен, сортировка соответственно тоже
Довольный Жизнью, пароли лучше хешировать на стороне клиента, а вот с файлами - если в файлах нет информации, которую нужно скрыть от третьих лиц, то разницы где хешировать нет.
Артем Говорун, это обычная температура для процессора под высокой нагрузкой. А так, охлаждение и хорошая термопаста исправят положение. Плюс, сам корпус еще должен быть хорошо вентилируем, отверстия на задней стенке должны быть открыты. У вас греется не только цпу, но и видеокарта, от неё воздух в корпусе становится горячее и процессор охлаждается хуже. В этом случае вентилятор на задней стенке значительно снизит температуру. Можно еще попробовать включить вертикальную синхронизацию, возможно это немного снизит нагрузку на процессор, но может быть и нет.
Yustas Alexu, это уже какое-то извращение получается, без дома, знаний html и css сделать сайт на angular каком-нибудь) Не проще ли тогда уж разобраться в html и css?)
Denis, может термопаста высохла, или. если её вытаскивали/вставляли, могли радиатор слегка подвинуть, и карточка стала иногда троттлить, пропускать такты и начали появляться такие проседания?) Тут можно много размышлять и предполагать, в интернете есть много информации на тему причин, как такие разрывы кадров появляются. Когда вы включаете вертикальную синхронизацию, то синхронизируете вывод кадров и обновление монитора. Т.е. видеокарта не выдаст кадр когда монитор обновляет изображение, и разрывов кадров 100% не будет.
Denis, это средний фпс. Для того, чтобы появился разрыв, достаточно некоторого количества "медленных" кадров.
Если вас спасла вертикальная синхронизация, то однозначно проблема в этом.
cicatrix, после GroupBy у вас будет список пар ключ-значений, где ключем будет поле по которому сгруппировали, а в значении будет перечисление соответствующих элементов. И из этого перечисления вы сможете сделать Select в любой нужный вам тип, не важно, анонимный или нет.
arr[0] = [curr, ints[i]];
на
уменьшит затраты на эту строчку на 70%;