Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Сравнение способов присваивания в perl

Perl *
Последнее время я стал исследовать вопросы производительности и эффективности perl-программ, и появилась идея опубликовать цикл простых, но наглядных тестов-сравнений. Начну с самого простого и типичного — с присваиваний. Если тема интересна — буду продолжать.

Ни одна большая программа не обходится без присваиваний. В программах на perl (да и не только на нем) данные часто хранят в структурах хэшей, и обновление полей этих хэшей — очень типичная задача. Разумеется, в perl существует множество способов написать код для этого — и все они различаются как по читабельности и красоте, так и по скорости. Мне стало интересно, каковы эти различия — и я провел небольшое исследование.

Пусть у нас есть $hash — ссылка на хэш с несколькими полями, и мы хотим обновить три из них. Банальный способ записать это:
<font color="gray">$hash->{foo} = 456;
$hash->{bar} = $bar;
$hash->{baz} = 'baz';

</font>


Можно воспользоваться hash slice — и вместо трех операторов скалярного присваивания достичь того же эффекта одним оператором присваивания списков:
Читать дальше →
Всего голосов 28: ↑19 и ↓9 +10
Просмотры 1.9K
Комментарии 38

Тест производительности BIND на разных OS

Настройка Linux *
Internet Systems Consortium провёл тестирование производительности DNS-сервера BIND на разных OS. Честно говоря, результаты меня поразили — такого разброса я не ожидал.

OS Queries/second
Linux Gentoo 2.6.20.7 93,000
Linux Fedora Core 2.6.20.7 87,000
FreeBSD-7-CURRENT 200708 84,000
FreeBSD-6-stable 200708 55,000
FreeBSD 6.2-RELEASE 51,000
Solaris-10 DevelExpr 5/07 50,000
NetBSD-4.0-Beta 200708 42,000
OpenBSD 4.1-snap-20070427 35,000
Windows 2003 Server 22,000
Windows XP Pro64 5.2.3790 SP2   20,000


P.S. Кстати, лично я рекомендую в качестве DNS-сервера использовать djbdns, а не BIND — по соображениям безопасности, хотя, я уверен, по производительности он тоже выигрывает у BIND (много лет назад я это тестировал, и не думаю что ситуация изменилась).
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 2.7K
Комментарии 54

Кто хотел пузомерку от Гугла?

IT-компании
Любовь сравнивать все со всем у людей не отнимешь. Поэтому раздолье для пузомерок всегда хватает. Так и Google решил показать чего стоят наши сайты по сравнению с другими.

ГуглБенчмарк

Читать дальше →
Всего голосов 46: ↑35 и ↓11 +24
Просмотры 366
Комментарии 23

The PHP Benchmark

Чулан
Chris Vincent собрал в кучу и опубликовал результаты тестов производительности некоторых операций PHP. Например, присутствуют такие сравнения:
foreach() vs. for() vs. while(list() = each())
echo vs. print
и другие, не менее любопытные, тесты.
Результаты представлены наглядно, в графическом и текстовом виде.
Рекомендуется к ознакомлению. :)
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 525
Комментарии 7

Ultimate benchmark пяти с половиной способов проверить наличие атрибута объекта в Python

Python *
Вот тут подымался вопрос о том, как определить, есть ли у объекта атрибут и как это сделать максимально быстро, однако достаточно глубоко тема исследована не была.

Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 4.9K
Комментарии 16

Новая версия Ruby быстрее до 5 раз

Ruby *
Версия Ruby 1.9.1, которая сейчас в статусе «preview» в синтетических тестах существенно быстрее текущей версии 1.8.7. За исключением нескольких тестов, ускорение доходит до 5 раз.

JRuby 1.1.6RC1 так же показал себя хорошо, выполнив тесты быстрее Ruby 1.8.7 до 3,6 раз.

Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 1.1K
Комментарии 50

Ruby && Python && Perl && PHP && Ruby1.9

Ruby *
В коментариях к моей статье были высказанны просьбы протестировать производительность приведенного там примера на других языках. Что я и пытался сделать.
Как видно из заголовка, в тесте участвовали практически все популярные сегодня динамические языки, а также новая версия Ruby.
Давайте взглянем на результаты.
Читать дальше →
Всего голосов 44: ↑37 и ↓7 +30
Просмотры 13K
Комментарии 221

Почему я отказался от Mozilla Firefox

Firefox
В данной небольшой статье я расскажу личные наблюдения причин почему я, как разработчик Интернет-систем, отказался от использования Mozilla Firefox и полностью перешел на сторону иного программного средства.
Результаты наблюдений документированы тестами и снимками экрана.
Узнать страшные факты
Всего голосов 418: ↑225 и ↓193 +32
Просмотры 6.5K
Комментарии 324

Нагрузочное тестирование и тюнинг популярных веб-приложений

Блог компании TrueVDS Разработка веб-сайтов *
Мы проводим нагрузочное тестирование для распространенных CMS и веб-приложений. Сейчас это Drupal, Joomla, Wordpress, phpBB и SMF. Результаты тестирования будут публиковаться открыто.

Приглашаю принять участие в тестировании. В обмен участники получат бесплатно годовой хостинг на VDS.

Читать дальше →
Всего голосов 47: ↑41 и ↓6 +35
Просмотры 5.1K
Комментарии 63

Opera — скорость работы в linux

Opera
Давно не давала покоя скорость отрисовки страниц в Linux (и работы в целом). В основном использую Linux, а когда нужно двухслойную болванку записать из образа CloneCD, то Windows.

Решил запустить V8 Benchmark Suite — version 4 на Ubuntu Linux 9.04 и Windows XP SP3 (IE7) в виртуальной машине VirtualBox 2.1.4 (которая запускается из под той же Ubuntu Linux). Все прикладные Linux/Windows приложения были отключены. Дефолтное desktop окружение. Видео Intel 945, драйвер 2.7.99.901, дефолтные настройки X.org. Compiz отключен.

Версия браузера под Windows:
Opera Version: 9.64, Build: 10487
Результат Windows — Score: 138

Версия браузера под Linux:
Opera Version: 9.64, Build: 2480
Результат Linux — Score: 79.4

Та же машина, браузер Firefox 3.0.11:
Результат Windows — Score: 134
Результат Linux — Score: 68.8

На родной Opera под FreeBSD 6.4 такие же тараканы. Не претендую на эталонные замеры, но производительность в Linux ниже практически в два раза. И это при условии, что Windows запускается из под VirtualBox.

UPD: Протестировал Opera 10:
Результат Windows — Score: 135
Результат Linux — Score: 95
Всего голосов 64: ↑45 и ↓19 +26
Просмотры 2.8K
Комментарии 178

Скорость работы у последних коммуникаторов

JavaScript *
Был произведет тест по скорости работы JavaScript в браузерах на основе WebKit. Тесты производились на коммункаторах последних поколений. Естественно iPhone 3G S занимает первенство, как в рекламных целях, так и не стоит забывать о мощности его процессора. Для тестов использовался SunSpider Benchmark
image
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 466
Комментарии 11

Квантификаторы в регулярных выражениях

Регулярные выражения *
Tutorial
imageРегулярные выражения — это арифметика для алгоритмов. Они доступны во многих языках программирования, редакторах и настройках приложений. Как и сложение с умножением они просты в использовании.
Но для правильного и эффективного использования regexp-ов нужно понимание того, как они работают. Я постараюсь описать принцип работы регулярных выражений, покажу в каких случаях бывают проблемы и как их решать.

В продолжение общих советов.
Читать дальше →
Всего голосов 113: ↑109 и ↓4 +105
Просмотры 65K
Комментарии 40

MongoDB и MySQL в Ruby и PHP

Разработка веб-сайтов *
imageНекоторое время назад довольно заинтересовался разработкой для MongoDB и провел некоторые бенчмарки в сравнении с MySQL.
Изначально только в Ruby, но, когда результаты изумили (в худшую сторону), то и в PHP, для сравнения.
Может быть, это кому-то сэкономит некоторое время.

Читать дальше →
Всего голосов 37: ↑32 и ↓5 +27
Просмотры 3.4K
Комментарии 60

IPC: сокеты против именованных каналов

Системное программирование *
Абсолютные числа большого смысла не имеют, но как сравнение информация представляет некоторую ценность

Условия


Windows 7 x64 с обновлениями
AMD Athlon X2 4600+ (2.41ГГц)
DDR2 2Гб
.Net Framework 3.5, классы из FCL.
Два 64-битных процесса без дополнительных привилегий.
Антивирус Касперского выключен. С ним результаты сокетов существенно хуже.
Сокеты и именованные каналы в асинхронном режиме.
Размеры буферов подбирались оптимальные, эксперементально для каждого вида IPC.
Читать дальше →
Всего голосов 34: ↑28 и ↓6 +22
Просмотры 29K
Комментарии 76

Проще сделать самому, или to fork() or not to fork()

Чулан
Решая проблему вычисления объемных данных в циклах частенько тянет распараллелить задачку.
Конечно же в perl есть сразу пара моделей: fork или thread, позволюящих использовать «многопоточность». Реализация каждого способа и религиозные предпочтения к материалу данной заметки не относятся.
Говорить будем о подкреплении выбора «делить/не делить» цифрами.
Читать дальше →
Всего голосов 16: ↑4 и ↓12 -8
Просмотры 392
Комментарии 10

Скорость флешек

Компьютерное железо
Здравствуйте уважаемые любители железа!

Проблема


В сети невозможно найти информацию о скорости конкретной модели USB Flash накопителя(в простонародии флешки). Причина секретности этой информации мне не известна.

Наше решение


Была разработана утилита для проведения тестирования флешки и отсылки результатов на сайт.
image
Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Просмотры 6.1K
Комментарии 40

Скорость флешек(USB flash drive)

Компьютерное железо
Наверное, у каждого из нас есть флешка, а у кого-то и не одна. Но кто из нас перед покупкой не задавался вопросом: "А какая флешка лучше?". При этом основными характеристиками, мы считаем, являются скорость чтения и записи. Согласитесь, купить флешку большого объема, пусть и с крутым дизайном, но со скоростью флоппи-диска не хочется никому.

image

Наш проект призван сравнить реальное быстродействие флешек, а так же поделиться с друзьями характеристиками свежеприобретенного девайса.
Читать дальше →
Всего голосов 95: ↑89 и ↓6 +83
Просмотры 121K
Комментарии 131

Выбираем USB Flash накопитель

Компьютерное железо
Около 2х недель назад мы уже показывали вам сервис тестирования скорости флешек.
За это время мы успели протестировать около 1300 флешек.
Читать дальше →
Всего голосов 69: ↑51 и ↓18 +33
Просмотры 3.9K
Комментарии 59

Простой тест libjit vs llvm

Чулан
«И опыт, сын ошибок трудных» (с) Сами знаете кто

С самого детства меня интересовали вопросы типа "кто победит — слон или кит". Или, например, "кто сильнее — тигр или лев". Теперь, когда я стал взрослым, вопросы немного изменились. Теперь меня интересует в частности — что круче libjit или llvm.

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

Итак. Простая задача — решето Эратосфена, или поиск простых чисел.


Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 950
Комментарии 5