Проектировать приложение нужно так, чтобы было легко его в будущем модифицировать
Вам стоит изучить про архитектуру приложений. Статьи/Конференции/Книги/Github (глянуть примеры)
Атрибуты считываются 1 раз, когда вы вызываете DirectoryInfo dir = new DirectoryInfo("D:\\");
В дальнейшем вы работаете уже с чистым енамом dir.Attributes, при обращении к нему ничего не вычисляется
Но ответ вам уже сказали, если хотите одним выражением, то так
На собесе это ревью вам дали просто чтобы проверить, как минимум, 3 умения
1. Чтение кода (особенно плохого)
2. Умение адекватно проводить Code Review (ваш опыт в этом деле)
3. Некоторые области знания C#
По вашему ревью видно, что у вас средненько с 1 и 3 пунктом и, видимо, совсем нет опыта с 2 пунктом
Задача минут на 10-20 для уверенного middle+ разработчика, и плюс возможность обсудить что либо на основе этого ревью. Довольно хороший подход к собеседованию, на мой взгляд. Без глупых вопросов сразу увидеть в деле, даже не заставляя писать свой код)
Явно не было цели заставить вас найти прям все все проблемы :)
Foggy Finder, Да, мне уже лень было разбираться, все таки не рабочий code review :)
Тут есть ещё места для оптимизаций, и ещё зависит насколько LongRunningCalculation действительно long. И как часто GetValue вызывается с одинаковыми значениями
Gatix,
Во первых, вам нужно копать в сторону inject`ов в исполняемые файлы
Во вторых, если программа находится на компьютере пользователя, то не важно как вы будете сохранять настройки, в файлах или inject`ом прямо в исполняемый файл, пользователь все равно имеет доступ в память процесса напрямую, и при должных навыках сумеет изменить настройки на нужные ему, даже если программа обфусцирована, вопрос времени)
Соглашусь с ewgenc, сделать пару тестовых стримов и посмотреть на чём эффективнее
2й ПК не советовал бы, большинство известных мне стримеров либо отказались от 2го ПК, либо передумали его брать с выходом железа уровня GPU 3070+ / CPU 5800X+. Раньше было актуальнее, когда железо на 1 ПК не справлялось
Как утеплить не знаю. Но главный совет, не заряжать батарею пока её температура ниже +10 градусов
В крайнем случае, если очень нужно, то можно заряжать от +1 до +10 градусов, а вот 0 и ниже совсем не надо
Ошибка №1 - "Сколько современные вычислительные устройства могут генерировать паролей в секунду, уже миллиарды?"
Можно сделать так, чтобы пароль проверялся хоть 10 минут, хоть 1 секунду (на своём ПК)
Допустим, ты сделаешь проверку в 20 секунд (для секурности), представим, что топовый суперкомпьютер может вычислить его в 100000 раз быстрее. (т.е. ~0.2 мс на пароль). Что около 5000 вариантов паролей в секунду, но не какие миллиарды уж точно)
И чтобы кто-то тратил такие огромные ресурсы на перебор пароля, он должен этого стоить (а скорее всего это не так, а значит атака в лучшем случае будет на ПК в 100-500 раз быстрее ~5-25 вариантов в секунду)
Ещё явно косяк в расчёте сложности парольных фраз, но мне пока лень считать :)
У меня было 2 ноута с похожими характеристиками, как у вашего G3. Подлагивания были из-за тротлинга процессора до частоты в 0.8ggz. Тротлинг возникал не из-за температуры, а просто так, потому что в TDP проц не уложился
Все лаги прошли, когда сменил ноут на десктоп, у него тротлинга не бывает :)
P.S. Тротлило часто на доли секунды, но этого хватало, чтобы ощутить подлагивания
Кроме AdAway и ему подобных с root ничего нет. AdGuard для мобильных используют урезанные фильтры, к сожалению. И пока почему то не хотят делать полных версий
Т.е. оплатить их услуги и услуги переводчика)