модуль simplejson просто в 1,5 раза быстрее, чем json (на моем компьютере с simplejson 2.1.1 и Python 2.7 x86).
Если хотите, вы можете попробовать тест: http://abral.altervista.org/jsonpickle-bench.zip На моем ПК simplejson работает быстрее, чем cPickle. Я также хотел бы знать ваши тесты!
Вероятно, как сказал Коуди, разница между simplejson и json заключается в том, что simplejson включает _speedups.c. Итак, почему разработчики Python не используют simplejson?
Прямо из perldoc perlre :
Предупреждение о \ 1 vs $ 1
Некоторые люди слишком привыкают к письму например:
$ pattern = ~ s / (\ W) / \\\ 1 / g;
Это унаследовано от правой руки замените, чтобы не шокировать sed наркоманов, но это грязная привычка получать в. Это потому, что в PerlThink правая часть "s ///" - это Строка в двойных кавычках. "\ 1" в обычная строка в двойных кавычках означает Ctrl + A. Обычное значение Unix of "\ 1" вставлено в "s ///". Однако, если вы приобретете привычку делая это, вы попадаете в проблема, если вы затем добавите "/ e" модификатор.
s / (\ d +) / \ 1 + 1 / например; # вызывает предупреждение под -w
Или если вы попытаетесь выполнить
s / (\ d +) / \ 1000 /;
Вы не можете устранить неоднозначность, сказав "{1} 000", тогда как вы можете исправить это с помощью «{1} 000 $». Работа интерполяцию не следует путать с операцией сопоставления обратная ссылка.
Конечно, они означают два разных элементы слева от "s ///".
Я использую \ 1
только в тех редких случаях, когда мне нужно, чтобы совпадение включало повторение более ранней части шаблона. например
/(foo|bar)baz\1/
Это будет соответствовать «foobazfoo» или «barbazbar», но не «foobazbar». Вы не можете использовать там $ 1
.
Во всех других случаях я использую $ 1
и родственников, потому что есть слишком много ошибок при использовании других обозначений . См. perlre для всех кровавых подробностей.
Они дают тот же результат, но $ 1 сохраняет свое значение, а \ 1 - нет. Попробуйте следующее:
s/([a-z]+),afklol/$1,bck/;
print "\$1 is $1\n";
#against
s/([a-z]+),afklol/\1,bck/;
print "\\1 is \1\n";