Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

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

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

</font>


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

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

Configuring 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 (много лет назад я это тестировал, и не думаю что ситуация изменилась).
Total votes 13: ↑10 and ↓3 +7
Views 2.7K
Comments 54

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

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

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

Читать дальше →
Total votes 46: ↑35 and ↓11 +24
Views 366
Comments 23

The PHP Benchmark

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

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

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

Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 4.9K
Comments 16

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

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

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

Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views 1.1K
Comments 50

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

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

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

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

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

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

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

Читать дальше →
Total votes 47: ↑41 and ↓6 +35
Views 5.1K
Comments 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
Total votes 64: ↑45 and ↓19 +26
Views 2.8K
Comments 178

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

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

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

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

В продолжение общих советов.
Читать дальше →
Total votes 113: ↑109 and ↓4 +105
Views 65K
Comments 40

MongoDB и MySQL в Ruby и PHP

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

Читать дальше →
Total votes 37: ↑32 and ↓5 +27
Views 3.4K
Comments 60

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

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

Условия


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

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

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

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

Computer hardware
Здравствуйте уважаемые любители железа!

Проблема


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

Наше решение


Была разработана утилита для проведения тестирования флешки и отсылки результатов на сайт.
image
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Views 6.1K
Comments 40

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

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

image

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

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

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

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

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

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


Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views 950
Comments 5