[Moscow.pm] XS как переименовать модуль?

Ivan Petrov i.petro.77.00 на gmail.com
Ср Фев 2 12:54:46 PST 2011


> К сожалению без двойного прохода не получится.  Опубликуйте
> List::Util::Internals и Scalar::Util::Internals вам будут благодарны
> программисты со сложными алгоритмами, где realloc становится
> проблемой.
>
>
я собственно этот вопрос задавал на предмет может кто-то уже эту работу
проделал.

тут переписали два модуля с Perl на XS. а поскольку алгоритмы не меняли, то
вся разница в быстродействии (> 100 раз) упирается чисто в работу с памятью.
вот собственно интересно стало, можно ли вернуться на perl пусть бы и с
костылями.

PS: а кстати вот перловая инструкция вида

(%hash)[$index]

получается всегда полным перебором (от нуля до $index) выполняется? или я
пропустил в документации какую-то функцию?

PS: писали сериализацию/десериализацию данных. обычную типа Data::Dumper, но
с такой фичей: работа из event-машины. то есть и сериализация и
десериализация идут ограниченными квантами. ну и event-машина при этом не
блокируется.

в ближайшее время выльем на cpan

десериализация получилась быстрее eval, а сериализация медленнее Dumper раз
в пять.

опять же вопрос - а не велосипед ли мы ваяли? может для event-машин кто-то
делал что-то подобное? вот JSON::XS имеет инкрементальный парсинг, а в
обратном направлении инкремента нет. хотя что самое интересное
десериализацию можно сделать быстрее сериализации...
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110202/282e40ec/attachment.html>


Подробная информация о списке рассылки Moscow-pm