Железо → Пришло ли время для SSD? из песочницы
Здравствуйте!
В последнее время, когда SSD становятся всё быстрее и доступнее, меня не перестают удивлять люди, которые хотят повышения быстродействия своей домашней системы, но при этом отказываются от покупки SSD. Что же движет этими людьми и почему они так поступают?
В последнее время, когда SSD становятся всё быстрее и доступнее, меня не перестают удивлять люди, которые хотят повышения быстродействия своей домашней системы, но при этом отказываются от покупки SSD. Что же движет этими людьми и почему они так поступают?
C++ → Массивы против контейнеров в задачах матмоделирования из песочницы
Введение
Так уж сложилось, что моя работа тесно связана с математическим моделированием физических процессов. Математическое моделирование — это совершенно особенная область программирования. Расчет даже относительно простого физического процесса может занимать несколько дней и даже недель. Поэтому на первый план выходит производительность программы, пускай даже в ущерб удобству написания и чтения кода. Однако до недавнего времени быстродействие моих программ меня мало заботило: вполне хватало грубых сеток, для которых расчеты занимали что-то около суток. Но постепенно сетки становились все подробнее, и время работы программ неуклонно росло. Тогда я стал искать узкие места в своей программе. Сначала в алгоритмах. Потом дело дошло до структур данных. И тут меня очень заинтересовал вопрос «а что же лучше использовать для хранения векторов: массивы или контейнеры?»Flash-платформа → Производительность и оптимизация отрисовки графики во Flash

Во время создания нашей игры на флэше (осторожно — вконтакт!), в определенный момент мы столкнулись с проблемой производительности.
FPS начал падать даже на весьма производительных системах… Проблема была типична для всех флэш-игр — большое количество векторной графики. Как вы понимаете, векторная графика — это весьма ресурсоемкая штука. Ведь при рендере плееру приходится заново рассчитывать разнообразные хитрые кривые и т.п., что явно проигрывает по скорости работе с растровой графикой. При чем — проигрывает на порядок (а то и несколько порядков).
По старой доброй традиции в зубы был взят Google и начался поиск решения…
Apple → Решение проблем медленной загрузки Mac OS
Ползет как черепаха?
Раньше ваш Мак запускался в считанные секунды, был быстрым, когда работали, и шустрым, когда играли. Но внезапно загрузка системы стала занимать гораздо больше времени, иногда до нескольких минут. Возникает вопрос: Что же заставляет его работать медленнее?
Причин, по которым Mac стал дольше запускаться, может быть несколько. Ниже мы рассмотрим наиболее вероятные из них и попробуем выяснить, что же не так и как с этим бороться.

Раньше ваш Мак запускался в считанные секунды, был быстрым, когда работали, и шустрым, когда играли. Но внезапно загрузка системы стала занимать гораздо больше времени, иногда до нескольких минут. Возникает вопрос: Что же заставляет его работать медленнее?
Причин, по которым Mac стал дольше запускаться, может быть несколько. Ниже мы рассмотрим наиболее вероятные из них и попробуем выяснить, что же не так и как с этим бороться.

JavaScript → Архитектура YASS. Часть 3: проблема выбора
Это третья статья из цикла, посвященного разбору практических методов, заложенных в основу YASS. Первая статья была про модульное построение, вторая — про логику выбора CSS-селектора и организацию циклов.
Начнем с наиболее очевидной составляющей любой логики: ветвления. В любом алгоритме встречается место, в котором нужно выбрать то или иное продолжение в зависимости от проверяемого условия. Давайте рассмотрим следующие примеры. В первом случае у нас три простых вложенных проверки:
Условное ветвление
Начнем с наиболее очевидной составляющей любой логики: ветвления. В любом алгоритме встречается место, в котором нужно выбрать то или иное продолжение в зависимости от проверяемого условия. Давайте рассмотрим следующие примеры. В первом случае у нас три простых вложенных проверки:
var a = 1,
b = 2,
c = 3;
if(a == 1) {
if (b == 2) {
if (c == 3) {
...
}
}
}Opera → Ускорение Оперы, часть 1
- Flash часто загружает всю виртуальную машину Java из-за технологии Live Connect (она часто бывает совершенно лишней);
Также очень увеличивает использование памяти Оперой.
(Как отключить: http://operawiki.info/FlashBlock)
- Попробуйте "Удалить личные данные", если вы считаете это оправданым для повышения произвдительности (действительно хорошо помогает в большинстве случаев)
- Если ваши оптимизаторские наклонности достигают маниакальной степени, отключите JavaScript
(попробуйте нажать F12 и вы увидите удобную менюшку, где можете сделать еще много всякого)
- Включите "Принимать все Cookies" (Это также повлияет на вашу безопасность, http://www.opera.com/support/tutorials/s…) (лично я не знаю, как это влияет на производительность, но на официальной wiki так пишут)
- Отключите FavIcons ( Prefs » Advanced » Browsing » Page Icons )
- Отключите спец.эффекты UI и используйте родной скин (он потребляет меньше ресурсов)
- Храните кэш на диске отличном от того, куда установлена ось, делайте иногда дефрагментацию этого диска
- Вы можете распаковать исполнимые файлы (http://operawiki.info/PackedExecutables)
- Если у вас кроме Опервы не открты другие программы, задайте приоритет процесса Opera в 'High' через диспетчер задач
Материал по http://operawiki.info/OperaPerformance (EN) и с множества форумов.
Завтра читайте продолжение, если в комментариях будут интересные заметки на тему я их учту, так что пишите.
Спасибо за внимание, это пока только общие рекомендации, в продолжении будет больше, надеюсь, кому-то это окажется полезным.
Opera → Ускорение Оперы, часть 1
- Flash часто загружает всю виртуальную машину Java из-за технологии Live Connect (она часто бывает совершенно лишней);
Также очень увеличивает использование памяти Оперой.
(Как отключить: http://operawiki.info/FlashBlock)
- Попробуйте "Удалить личные данные", если вы считаете это оправданым для повышения произвдительности (действительно хорошо помогает в большинстве случаев)
- Если ваши оптимизаторские наклонности достигают маниакальной степени, отключите JavaScript
(попробуйте нажать F12 и вы увидите удобную менюшку, где можете сделать еще много всякого)
- Включите "Принимать все Cookies" (Это также повлияет на вашу безопасность, http://www.opera.com/support/tutorials/s…) (лично я не знаю, как это влияет на производительность, но на официальной wiki так пишут)
- Отключите FavIcons ( Prefs » Advanced » Browsing » Page Icons )
- Отключите спец.эффекты UI и используйте родной скин (он потребляет меньше ресурсов)
- Храните кэш на диске отличном от того, куда установлена ось, делайте иногда дефрагментацию этого диска
- Вы можете распаковать исполнимые файлы (http://operawiki.info/PackedExecutables)
- Если у вас кроме Опервы не открты другие программы, задайте приоритет процесса Opera в 'High' через диспетчер задач
Материал по http://operawiki.info/OperaPerformance (EN) и с множества форумов.
Завтра читайте продолжение, если в комментариях будут интересные заметки на тему я их учту, так что пишите.
Спасибо за внимание, это пока только общие рекомендации, в продолжении будет больше, надеюсь, кому-то это окажется полезным.
Opera → Ускорение Оперы, часть 1
- Flash часто загружает всю виртуальную машину Java из-за технологии Live Connect (она часто бывает совершенно лишней);
Также очень увеличивает использование памяти Оперой.
(Как отключить: http://operawiki.info/FlashBlock)
- Попробуйте "Удалить личные данные", если вы считаете это оправданым для повышения произвдительности (действительно хорошо помогает в большинстве случаев)
- Если ваши оптимизаторские наклонности достигают маниакальной степени, отключите JavaScript
(попробуйте нажать F12 и вы увидите удобную менюшку, где можете сделать еще много всякого)
- Включите "Принимать все Cookies" (Это также повлияет на вашу безопасность, http://www.opera.com/support/tutorials/s…) (лично я не знаю, как это влияет на производительность, но на официальной wiki так пишут)
- Отключите FavIcons ( Prefs » Advanced » Browsing » Page Icons )
- Отключите спец.эффекты UI и используйте родной скин (он потребляет меньше ресурсов)
- Храните кэш на диске отличном от того, куда установлена ось, делайте иногда дефрагментацию этого диска
- Вы можете распаковать исполнимые файлы (http://operawiki.info/PackedExecutables)
- Если у вас кроме Опервы не открты другие программы, задайте приоритет процесса Opera в 'High' через диспетчер задач
Материал по http://operawiki.info/OperaPerformance (EN) и с множества форумов.
Завтра читайте продолжение, если в комментариях будут интересные заметки на тему я их учту, так что пишите.
Спасибо за внимание, это пока только общие рекомендации, в продолжении будет больше, надеюсь, кому-то это окажется полезным.
Веб-разработка → JavaScript: ограничение частоты исполнения функции
Javascript — удивительный язык, с которым порой удаётся вытворять неожиданно классные вещи. Хочу познакомить вас с немножко нестандартным решением одной проблемы быстродействия, с которой я недавно столкнулся. Предупреждение: не для новичков.
Исходные данные: ресурсоёмкая функция, обновляющая определённые элементы на экране по наступлению определённых событий (движение мышки, например).
Проблема: когда события, вызывающие функцию, происходят слишком часто за короткий промежуток времени, интерфейс может начать серьёзно тормозить. Скажем, если событие произойдёт 1000 раз за несколько секунд, то и обновление — столько же. Для интерфейса молниеносная скорость отрисовки изменений может быть не так важна, а вот общее быстродействие, которое в данном случае страдает — очень даже.
Задача: ограничить функцию таким образом, чтобы она исполнялась не чаще, чем раз за определённый промежуток времени. При достаточном малом таком промежутке визуально задержки не будут заметны, зато кол-во вызовов может сократиться в несколько раз, что в свою очередь очень сущесвенно сократит нагрузку и поможет избавиться от торможения.
Исходные данные: ресурсоёмкая функция, обновляющая определённые элементы на экране по наступлению определённых событий (движение мышки, например).
Проблема: когда события, вызывающие функцию, происходят слишком часто за короткий промежуток времени, интерфейс может начать серьёзно тормозить. Скажем, если событие произойдёт 1000 раз за несколько секунд, то и обновление — столько же. Для интерфейса молниеносная скорость отрисовки изменений может быть не так важна, а вот общее быстродействие, которое в данном случае страдает — очень даже.
Задача: ограничить функцию таким образом, чтобы она исполнялась не чаще, чем раз за определённый промежуток времени. При достаточном малом таком промежутке визуально задержки не будут заметны, зато кол-во вызовов может сократиться в несколько раз, что в свою очередь очень сущесвенно сократит нагрузку и поможет избавиться от торможения.
Персональные блоги → Еще раз про утилиты, экономящие ваше время
Да-да, об этом уже писали, но у меня свой подход к решению проблемы ускорения работы. Это связка из трех компонентов:
— Launchy
— Punto Switcher
— Свое Меню
Все они важны, о каждом подробнее…
— Launchy
— Punto Switcher
— Свое Меню
Все они важны, о каждом подробнее…