Осилил собрать личкрафты под макось нативным clang'ом из xcode, а не gcc из всяких там портов. Для этого, правда, пришлось легонько патчить кути и буст.
Осилил также собрать бандл, чтобы оно при этом после сборки еще и запускалось и не сегфолтило.
Осилил собрать личкрафты под макось нативным clang'ом из xcode, а не gcc из всяких там портов. Для этого, правда, пришлось легонько патчить кути и буст.
Осилил также собрать бандл, чтобы оно при этом после сборки еще и запускалось и не сегфолтило.
С новым C++0x можно писать просто охуительнейшие вещи. [] () {} (); фигня, когда есть
decltype (expected) copy (expected);
Скажите, фанаты не-костылей и юниксвея, как в этом вашем cut вырезать два последних байта из каждой строки?
В общем, оказалось, что прогон фильтров cleanweb'а с easylist на главной рутрекера занимает 1300-1400 миллисекунд на моем i7. Ни в какие ворота не годится, пойду оптимизировать.
Заоптимизировал представление фильтров в CleanWeb в памяти, и с полутора секунд время обработки упало до секунды. Неговно.
Заимплементировал параллельную реализацию, и на моем i7 матчинг в 8 потоков вместо одного дал всего 20% прироста. Говно какое-то.
Чят, у FF'ского AdBlock+ есть возможность указывать применимость правил только к отдельным типам контента — вроде картинок, стилей и т. п. Хотелось бы эти вещи поддерживать.
Проблема в том, что в момент HTTP-запроса, когда его еще можно отменить, тип данных, к которым происходит запрос, неизвестен. Что делать?
1. ... more →
Ускорил матчинг с правилами из AdBlock+ в два раза (с секунды до 400-550 миллисекунд) за счет замены QString::toLocal8Bit() на QString::toLatin1(). Воистину, не занимайтесь преждевременной оптимизацией — профайлер все равно потом удивит.
Итого суммарное ускорение в три раза.
Путем еще всяких хитровыебнутых оптимизаций снизил суммарное время обработки правил на главной rutracker.org'а до 150-170 миллисекунд.
Итого суммарное ускорение на порядок.
Профайлеры котики.
Webkit — говнище. Если при загрузке фрейма была ошибка, то фрейм в DOM-дереве родительского фрейма на самом деле будет присутствовать, но найти его будет нельзя, в списке всех web element'ов его не будет, и вообще хуй его из дома выгон^W удалишь.
А еще адблок в личкрафтах наконец-то научился сокрытию элементов.
Одногруппничек сегодня рассказал, что он с другом потыкали в личкрафты, и у них охуенно быстрый браузер под виндой. быстрее хрома.
Пиздец вообще.
Я просто оставлю это здесь → http://blog.rburchell.com/2011/12/why-i-...
Впилил поддержку PCRE как движка регекспов в личкрафтовском AdBlock+-е. Заодно удалось провести ряд не-синтетических тестов. Все тесты на одних и тех же данных (глагне rutracker.org), поэтому интересны лишь соотношения между полученными цифрами:
1. Матчинг регекспов с QRegExp — 30 миллисекунд на обработку всех ... more →
Здравствуйте!
Мой муж раздобыл архиерейские облачения и просит, чтобы я в постели называла его "владыкой". Сам он человек не религиозный. Что делать в такой ситуации? Считается ли это кощунством?
zsh все-таки охуенчик. Автокомплитит пути на удаленном хосте в аргументах ssh. При этом правильно парсит предыдущие всякие -p и сам стучится куда надо.
Олсо, в тему ко вчерашним регекспомытарствам — оказывается, JIT-прекомпилирование регекспов занимает дополнительных 29.6 метров памяти на easylist + ruadblock. Жить с этим или отключить к хуям jit?
Наткнулся на http://theiced.livejournal.com/197247.ht...
Аргументы уровня ЖЖ.
Ну и да, Qt Creator все так же уебищен. Все так же никакого автокомплита, уебищная работа с cmake, и вообще.
Запилил модуль Pierre, обеспечивающий интеграцию с Mac OS X. Пока интеграция базовая и заключается в иконке бандла и правильной менюшке:
http://dump.bitcheese.net/images/okemigo...
Что бы еще можно было запилить?
А еще после обновления xcode пришлось руками править /usr/lib/c++/v1/__config, ибо иначе libc++ не очень понимало, какие фичи поддерживает clang, и ругалось на само себя.
Анально как-то.
А лютый хейтер личкрафтов — латентный личкрафтоюзер.
Или даже личкрафтодевелопер.