Оптимизаторы памяти и ЦП: уловки ли это?

Оптимизаторы памяти и ЦП: уловки ли это?

Являются ли инструменты анализа, которые позволяют вам использоватьвсе ядра вашего процессораа также инструменты, которые помогают восстановить память (пока не могу вспомнить, но видел много) трюк? Эти инструменты действительно работают?

решение1

Держитесь подальше от "оптимизаторов памяти". Они вам не помогут. Оставьте управление памятью ОС!

Вот список причин, по которым:http://www.t3chnophilia.com/2008/08/5-reasons-you-shouldnt-use-memory.html

решение2

Оптимизаторы памяти

Было время, когда пользователям DOS 386/486 приходилось вручную оптимизировать файлы config.sys и autoexec.bat, чтобы загрузить как можно больше "высокого" (выше 640 КБ) материала. Загрузка неправильного материала первой могла сместить все остальное в ваше драгоценное пространство приложения в 640 КБ.

Затем появились оптимизаторы памяти, которые вычисляли все это за вас автоматически. Они достигли настоящей полезности и зрелости как раз в то время, когда Windows 95 сделала их всех устаревшими.

Системные оптимизаторы

Другие действия, которые выполняют оптимизаторы скорости, включают очистку корзины, дефрагментацию диска, очистку реестра, удаление старых журналов установки, удаление ненужных драйверов и удаление фрагментов старых программ.

Если им удастся что-то убрать прямо на пороге, то улучшение скорости может быть существенным. Обычно нет.

Как вы можете догадаться, все это вы можете сделать самостоятельно, не тратя денег.

решение3

Судя по вашему имени пользователя, я бы сказал, что вы, как и я, разработчик программного обеспечения.

Если приложение не написано с учетом использования преимуществ многопоточности, вспомогательное приложение ничего вам не сделает.

Если вы используете многопоточное приложение, и оно написано правильно, алгоритмы планирования потоков в Windows будут в порядке. Программы вроде этой существуют для того, чтобы использовать людей, которые не знают, что происходит под капотом.

Почти все современные компьютеры имеют как минимум два процессора, которые обычно называют «ядрами».

Это должно быть явным признаком, поскольку мы все знаем, что ядро ​​и процессор — это две разные вещи.

решение4

Я разработчик, поэтому отвечу на этот вопрос с точки зрения C/C++. Если я пишу программу с графическим интерфейсом и нигде в ней не разбиваю рабочие потоки, CreateThread()то это одноядерный процессор, и ничего из того, что вы можете сделать, не поможет. Если я использую CreateThread()и CreateProcess()тогда я как программист могу попытаться установить соответствие. Я также могу установить приоритеты планирования, хотя они приблизительны, основанные на таких описаниях: низкий, нормальный, высокий, ниже нормы, выше нормы. Фактические базовые уровни потоков — 1-16 (17-32 для кода уровня ядра), но вы не можете напрямую сопоставить их, только поместить в корзину в соответствии с расчетами планировщика. У меня нет большего контроля над тем, как я контролирую свои потоки. Внутренности Windows Schedular неизвестны за пределами Microsoft, отчасти потому, что Microsoft меняет их между выпусками Windows, чтобы гарантировать, что они будут наверху использования системы и чтобы все шло как можно более гладко.

Идея о том, что другое приложение поможет, смехотворна, если только оно не собирается разбить мой процесс по ядрам. Сделать это было бы очень сложно, если бы не на уровне ядра, и в любом случае это может привести к поломке приложения. Попытка заставить планировщик сделать что-то другое также является пустой тратой циклов процессора, поскольку вам нужно сделать расчет для ускорения, а затем применить его к вашим потокам и процессам.

Наконец, вы можете сделать свою систему более нестабильной, используя такие инструменты. Например, антивирусные сканеры работают с низким приоритетом не просто так. Почитайте о значении приятности процесса в Linux (та же концепция и в Windows: в основном процессы считаются нехорошими, если они поглощают ресурсы. В Linux они на самом деле получают меньше времени на такое плохое поведение. В Windows они просто поглощают ресурсы и замедляют все). Поэтому, хотя программа должна справляться, ваши инструменты могут давать процессам больший приоритет, чем им на самом деле нужно, или меньший, когда им это нужно.

Как уже говорили другие, лучше оставить это на усмотрение ОС.

Связанный контент