Архив от Сентябрь, 2010

Объемы данных и требования к скорости их обработки за последние десятилетия многократно выросли. Системы управления базами данных (СУБД) пытаются соответствовать новым реалиям и претерпевают значительные эволюционные и революционные изменения. Одним из таких эволюционных факторов является движение в сторону т.н. вертикальных (column-based) систем хранения.

(далее…)

Mike Haertel, автор GNU grep, написал в рассылку FreeBSD отличное письмо по поводу производительности grep-а.

Суть в том, что grep использует модифицированный алгоритм Boyer-Moore для поиска подстроки и ему не приходится проверять каждый байт.

Там же предлагалась идея использовать mmap для увеличения производительности, чтобы ядру не читать read-ом каждый байт, а передать контроль за этим в юзерспейс — самому grep-у.

Если вдуматься, смысл этой оптимизации не очень большой. Все равно с диска считывается минимум 4 килобайта (размер физического сектора HDD), и вряд-ли Boyer-Moore сделает прыжок больше, чем на 4K.

Вторая причина в том, что каждая считанная страница памяти будет генерировать page fault. Это может быть даже дороже, чем системный вызов read().

Собственно, именно так и посчитали разработчики grep-а.

Еще одна отличная оптимизация — grep не разбивает входящий файл на строки заранее. Он сначала находит вхождение, а потом ищет начало и конец строки. Если grep-у указать ключ -n (включить счетчик строк), то ему будет необходимо из распознавать заранее, что сильно уменьшит его производительность.

$ time grep groovy tmpfs/words > /dev/null

real 0m0.927s
user 0m0.600s
sys 0m0.311s
$ time grep -n groovy tmpfs/words > /dev/null

real 0m1.924s
user 0m1.606s
sys 0m0.307s
$

Когда мы все работали в Японской компании, то  каждый год отмечали ее день рождения летом в июле. Компания уже как 3 года уехала на Филиппины, а мы все еще верны традиции, устраивать летом выезд на природу, отмечать день рождения Вэльюкоммерс. На самом деле, был бы повод!

И в это лето мы решили не изменять традиций!

Изначально отдых  планировался  культурный, с бассейнами, футбольными площадками, сауной… Но  в результате поехали  мы на берег Москвы реки под Звенигород!

Что мы там делали? Да все делали! Купались, кормили комаров, ели шашлыки(ударение на втором слоге), варили плов(ну мы его потребляли в основном), играли в бадминтон. Вечером снимали стресс, глядя на огонь.. это сейчас так называется.  Играли мы в Контакт. В нашей компании из этого получается очень  высокоинтеллектуальная игра! Я в очередной раз почувствовала себя блондинкой и порадовалась, с какими умными людьми я работаю.

Ну а на следующий день – пошли по Святым местам! Савву Сторожевского посетили. Кстати, говорят,  что он в бизнесе помогает. Говорят, у кого какие проблемы – сразу к нему! Чтобы мы выгледели прилично, нам выдали юбки…даже мальчикам выдали. Не могу сказать, что выглядеть мы стали приличнее….но решили не лезть со своим уставом в чужой монастырь. Наверное Богу тоже иногда хочется посмеяться.

В общем, отдохнули хорошо, потом от отдыха еще долго отдыхали!