Want check Google style guide complience? Do it online!
Заметки о программировании
четверг, 26 сентября 2013 г.
среда, 4 сентября 2013 г.
MARISA
Наткнулся на компактный и эффективный словарь. жаль нет неточного поиска ;-(
MARISA: Matching Algorithm with Recursively Implemented StorAge
понедельник, 2 сентября 2013 г.
ssh Vim +nofsync
Иногда при работе через ssh на зугруженном сервере Vim подвисает. Оказалось, проблема в синхронном I/O с настройками по умолчанию.
здесь проблему лагов решают отказом от fsync в две строчки.
здесь проблему лагов решают отказом от fsync в две строчки.
cat >> ~/.vimrc
set swapsync= set nofsync
пятница, 9 августа 2013 г.
pigz!
Замечательный программист создал параллельную реализацию gzip.
http://zlib.net/pigz/
отдельные файлы жмутся с почти линейным ускорением.
http://zlib.net/pigz/
отдельные файлы жмутся с почти линейным ускорением.
вторник, 23 июля 2013 г.
Powerful Python One-Liners
Нашел подборку однострочных утилит на питоне.
Powerful Python One-Liners
Мне одному кажется, что аналоги на Perl короче?
Powerful Python One-Liners
Мне одному кажется, что аналоги на Perl короче?
Эффективная реализация кучи
Нашел диссертацию про эффективные реализации алгоритмов.
Cache-efficient Algorithms and Data Structures: Theory and Experimental Evaluation
А мне как раз нужна быстрая SPSC Priority Queue (читай куча).
Вот статья с теми же алгоритмами для очередей:
Experimental Study of High Performance Priority Queues
Автор приводит результаты сравнений нескольких алгоритмов. Лучшие результаты за Sequence Heap, Auxiliary Buffer Heap, and 4-ary Aligned Heap.
#Картинка из статьи.
PS. Есть ли у кого-нибудь реализация одного из алгоритмов-лидеров?
Cache-efficient Algorithms and Data Structures: Theory and Experimental Evaluation
А мне как раз нужна быстрая SPSC Priority Queue (читай куча).
Вот статья с теми же алгоритмами для очередей:
Experimental Study of High Performance Priority Queues
Автор приводит результаты сравнений нескольких алгоритмов. Лучшие результаты за Sequence Heap, Auxiliary Buffer Heap, and 4-ary Aligned Heap.
#Картинка из статьи.
PS. Есть ли у кого-нибудь реализация одного из алгоритмов-лидеров?
Python и stdin
Почему питон читает стандартный ввод не так как остальные языки?
Как сделать так, чтобы программа реагировала по каждому переводу строки? ...и завершалась по первому нажатию <Ctrl-D>
Интересно, можно ли написать короче ?
python -c 'import sys; [sys.stdout.write(line) for line in sys.stdin.xreadlines()];'
perl -e 'while(<>){print;}'
Как сделать так, чтобы программа реагировала по каждому переводу строки? ...и завершалась по первому нажатию <Ctrl-D>
$ python -c 'import sys;import time; b=time.time(); [sys.stdout.write("%f\t%s"%(time.time() - b,l)) for l in sys.stdin];'
1
2
3
4
5
3.411461 1
3.411516 2
3.411521 3
3.411524 4
3.411528 5
UPD. подсказали вариант с readline():
$ perl -M'Time::HiRes qw/time/' -e '$t0=time;while(<>){print time()-$t0,"\t",$_}'
1
0.394223928451538 1
2
0.731681108474731 2
3
1.00161504745483 3
4
1.306715965271 4
5
1.96435904502869 5
Интересно, можно ли написать короче ?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
def xreadlines(stream):
while 1:
try:
line = stream.readline()
except KeyboardInterrupt:
break
if not line:
break
yield(line)
if __name__ == '__main__':
for line in xreadlines(sys.stdin):
sys.stdout.write(line)
Подписаться на:
Сообщения (Atom)