Pull to refresh
21
0
mechmind @mechmind

User

Send message
Будет забавно, если потом придет антикопирайт-бот и забанит ваши же собственные фотогарфии как нарушение интересов того, кому их продал Цукерберг (via vitus-wagner).
«Вас используют» — фраза для выключения мозгов у целевой аудитории.
По-умолчанию должно быть значение null, а не 1, как это сделала Microsoft.
Не верьте документации настолько. Если при выключении flashcache не будет выключен правильно, то часть dirty-blocks будет потеряна. И если эти блоки пришлись на метаданные lvm, можете считать тома потерянными.
Побороли перезагрузки с write_back? Одно время кешировали lvm-снепшоты с помощью flashcache, пару раз пришлось восстанавливать всё из бэкапов после падения питания.
Хорошо, что за это взялись, странно, что занимается вопросом Федеральная Антимонопольная Служба. В чем монополия то?
… и Оскар переходит к cython!

Вот продолжение простенького бенчмарка. Код расположен в gist — https://gist.github.com/4025567. Запускаем!

$ for power in 2 4 6 ; do for module in timing_{native,ctypes,cython,cython_range} ; do echo -n "$module: $power "; python2 -m timeit --setup "from $module import test" "test(10 ** $power)" ; done ; echo "---------" ; done
timing_native: 2 100000 loops, best of 3: 4.72 usec per loop
timing_ctypes: 2 100000 loops, best of 3: 2.27 usec per loop
timing_cython: 2 1000000 loops, best of 3: 0.21 usec per loop
timing_cython_range: 2 1000000 loops, best of 3: 0.211 usec per loop
---------
timing_native: 4 1000 loops, best of 3: 448 usec per loop
timing_ctypes: 4 10000 loops, best of 3: 30.1 usec per loop
timing_cython: 4 100000 loops, best of 3: 5.57 usec per loop
timing_cython_range: 4 100000 loops, best of 3: 6 usec per loop
---------
timing_native: 6 10 loops, best of 3: 248 msec per loop
timing_ctypes: 6 100 loops, best of 3: 2.59 msec per loop
timing_cython: 6 1000 loops, best of 3: 541 usec per loop
timing_cython_range: 6 1000 loops, best of 3: 586 usec per loop
---------


Отмечу, что можно использовать даже родные циклы через range (если переменная-итератор — int, то он будет развернут в родной сишный).

Не владею магией низкоуровнего питона, предполагаю, что у cython меньше оверхед на преобразование типов в сишные и обратно при вызове.
Потому что это спецсимвол регулярного выражения.
Хм… Заявки принимает pull-request'ами?
(code зачем-то сьел переводы строк в последнем блоке)
Залез в свои .bash*, нашел кучу старых добрых, но забытых вещей :)

Вот например, итерация по чему-нибудь с прогресс-метками:

finit() { count=$#; current=1; for i in "$@" ; do echo $current $count; echo $i; current=$((current + 1)); done; } alias fnext='read cur total && echo -n "[$cur/$total] " && read'

И использование:

finit 1 2 3 4 | while fnext item; echo $item ; done

Пример:

$ finit 1 2 3 4 | while fnext item; do echo $item; done
[1/4] 1
[2/4] 2
[3/4] 3
[4/4] 4
Я однажды заинтересовался возможностями разбора history, в результате получил sudo для всей командной строки, включая пайпы и редиректы:

proceed_sudo () { sudor_command="`HISTTIMEFORMAT=\"\" history 1 | sed -r -e 's/^.*?sudor//' -e 's/\"/\\\"/g'`" ; sudo sh -c "$sudor_command"; }; alias sudor="proceed_sudo # "

Использовать так:

$ sudor make me a sandwitch > /var/lib/sandwitch

Несерьезно, но забавно. И нельзя вставлять в пайп.
Честный барыга… Такие встречаются ещё реже «альтруистов».
Да здравствует эра цифровой контрабанды и подполных цехов по скачке медиаконтента!
Тогда уж что-то вроде /dist/{did}/, который будет корневой директорией для программы и симлинки на все файлы и директории в нужных местах. Набирать какой-нибудь cd /var/07f51c01-9811-4ab2-b905-d8e3a8a750b7/db совершенно не хочется.
API и ABI несовместимы с версиями 0.10.х

И приведет это к долгой и счастливой жизни 0.10, пока из года в год его будут закапывать.
Сравнивали с fann? У них есть биндинги к python в комплекте, да и побыстрее должна быть.

Information

Rating
Does not participate
Registered
Activity