[must-read repost] Обманчиво простая задачка или немного про системное программирование

Nov 23, 2013 07:30

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

Я в свое время славно походил по этим граблям, и у других их видел в количестве.

Оригинал взят у zamotivator в Обманчиво простая задачка или немного про системное программированиеВыношу из своего поста и ( Read more... )

repost, программирование, must-read

Leave a comment

nponeccop November 23 2013, 09:56:36 UTC
Единственное* нормальное решение - это евент-луп библиотека с промисами или чем-то получше (reactive properties, reactive event streams, ...) Остальное - годится и "оно же работает"™, но в-общем, ёбаный стыд в соответствии с тезисом "sleep никогда не бывает разумным ( ... )

Reply

vp November 23 2013, 15:28:34 UTC
спасибо, ваша мысль теперь понятна.

Reply

brainsucker November 23 2013, 21:36:43 UTC
Ай, ну вам не кажется что требовать этого от FAR-а с его тяжелой судьбой (и к тому же совсем не мэйнстрим продукта, странно что не загнулся ещё :) - это слишком? :) Да и писался этот код поиска кстати те самые 10 лет назад (в лучшем случае), так что все закономерно.

Если говорить про полно-текст - то в таком варианте фар показывает:
a. cp1251, case sensitive: > 100 мб/с @ 30%/1 cpu (очевидно уперся в веник)
b. all cp, case insensitive: 65 мб/с @ 100%/1 cpu
Что имхо вполне достаточно (и тем более на порядок быстрее вы не сделаете) для повседневных задач большинства юзверей с обычными hdd. Про прогулку по папкам - другой вопрос.

Безусловно можно сделать намного лучше и там и там, что мешает засабмитить патч? :) Видно по тем же причинам никто до сих пор и не засабмитил :)

Reply

blacklion November 24 2013, 02:30:52 UTC
IO мало. У нас вот система ограничена в IO интеррапт-рейтом на новейших серверах от Оракла (на интелле). Всё серверное, всё многоочередное, с модерацией прерываний и вот этим вот всем -- а упираемся в самый нижний уровень, в стык сетевой карты 10G, PCIe и процессора (зиона). При том, что верхний уровень у нас на Java -- но вот CPU действительно обожрись, это не мешает, пустых ядер в достатке. А пакеты -- теряются. Нечасто, в пика трафика, но теряются. На свитче был, к нам не дошёл.

Reply

sassa_nf November 25 2013, 11:32:59 UTC
как интересно. У нас та же беда. У драйвера одна очередь обрабатывается однопоточно, так что...

Reply

blacklion December 3 2013, 01:50:17 UTC
Да, но очередей этих 16 на 24 ядра и там даже не легаси-прерывания а MSI-X новомодные и быстрые. И всё равно - в пиках - потери. На уровне сотых долей процента, но есть.

Reply


Leave a comment

Up