Comments 47
Учишь Python и одновременно учишь английский, круто.
rsdn -> lor -> habr
Интересно, сам Гвидо Ван Россум к этому отношение имеет? Он ведь в Гугл вроде работает?
Кто-нибудь интересовался быстродействием IronPython? На сколько он быстрее/медленнее CPython?
Во всяком случае Garbage Collector у них более продвинутый, т.к. используется стандартный НЕТовский.
ironpython.codeplex.com/Wiki/View.aspx?title=IP201VsCPy25Perf&referringTitle=IronPython%20Performance
PyStone 1.1
Results
Best CPython PyStone run (out of 5 attempts): 38042.5 PyStones/second
Best IronPython PyStone run (out of 5 attempts): 48516.4 PyStones/second
(больше — лучше)
Другие бенчмарки на той же странице не так однозначны.
PyStone 1.1
Results
Best CPython PyStone run (out of 5 attempts): 38042.5 PyStones/second
Best IronPython PyStone run (out of 5 attempts): 48516.4 PyStones/second
(больше — лучше)
Другие бенчмарки на той же странице не так однозначны.
Спасибо за интересную новость.
Интересно, кто кого, в итоге. К CPython(+psyco), IronPython, Jython, PyPy гугловский Unladen Swallow значит добавился. Особо интересно, у кого JIT будет круче, у бенладен Swallow или уPyPy.
Я в шоке от такого подхода. Где родные скобки?
Я полчаса бился с этим, когда первый раз пробовал разбираться =) Копирую пример — работает. Пишу вручную практически то же самое — не работает. Оказалось, пробел в начале строки не поставил.
С Python пока так и не подружился, за то подсел на Monty Python.
Я полчаса бился с этим, когда первый раз пробовал разбираться =) Копирую пример — работает. Пишу вручную практически то же самое — не работает. Оказалось, пробел в начале строки не поставил.
С Python пока так и не подружился, за то подсел на Monty Python.
В питоне есть скобки. Вот, пожалста:
def fun(param): # {
return param
# }
def fun(param): # {
return param
# }
Интересно, кто победит: консерватизм Гвидо, или биг боссы Google? Хотелось бы, чтобы всё же вторые.
Ну наконец-то наколеночный CPython заменят на что-то более продвинутое.
Такими темпами, глядишь, через пяток лет пыхон дорастет наконец до уровня реализаций Common Lisp'ов далеких 80-х, что не может не радовать.
Такими темпами, глядишь, через пяток лет пыхон дорастет наконец до уровня реализаций Common Lisp'ов далеких 80-х, что не может не радовать.
В 80-х ресурсов было мало, приходилось экономить. А сейчас? Гигабайт туда, гигагерц сюда, никакой разницы…
Вот от GIL избавиться — святое дело, а чистое быстродействие не очень-то и нужно. Не системные ж библиотеки и видеокодеки на голом питоне писать.
Вот от GIL избавиться — святое дело, а чистое быстродействие не очень-то и нужно. Не системные ж библиотеки и видеокодеки на голом питоне писать.
с гил:
без гил:
и в чём же святость?
d['more'] = 'yeah'
без гил:
try:
lock.aquire()
d['more'] = 'yeah'
finally:
lock.release()
и в чём же святость?
Какая святость?
GIL мешает питону юзать больше одного процессора и это — зло.
GIL мешает питону юзать больше одного процессора и это — зло.
man Stackless Python, на котором сервера EVE Online крутятся :)
stackless, twisted, много их всяких. Хочется в основной ветке было.
P.S. У eve online запланированный ежесуточный даунтайм на час, так что, видимо, и stackless не идеален )
P.S. У eve online запланированный ежесуточный даунтайм на час, так что, видимо, и stackless не идеален )
и? в стаклессе эта проблема не решена.
Многопоточность — это не единственный и в большинстве случаев не лучший способ использовать много ядер.
import processing
и будет вам счастье.Эх, где ж он был, когда я на форках многопоточность реализовывал… )
и передавать после этого только сериализуемые данные… а если так — то почему не запускать сразу два (подставить нужное число) процессов?
А зачем передавать несериализуемые данные? Use Case какой?
тут вопрос не в передаче именно сериализуемых или несериализуемых данных, а в совместном доступе к памяти. а ее pyprocessing не дает
т.е. я могу получить доступ к такому файлу из любого интерпретатора и скорость будет == скорости доступа к памяти?
мне кажется вы чтото перепутали, почитайте внимательнее по собственной ссылке
мне кажется вы чтото перепутали, почитайте внимательнее по собственной ссылке
The next example demonstrates how to create an anonymous map and exchange data between the parent and child processes:
что вас смущает?
смущает то, что я таким образом получил фактически простой pipe, только + кучу проблем с организацией совместного доступа.
мне надо: из разных процессов дергать методы класса, причем процессы должны быть по-настоящему независимы (сейчас это достигается за счет разделения на отдельные интерпретаторы). mmap — в принципе помогает расшарить доступ к одному объекту — к файлу (в принципе не плохо, но будет ли это быстрее чем пайпы?), и это не такой большой шаг, учитывая что можно создавать виртуальные файлы.
а надо чтото вроде виртуального хранилища питоновских объектов, где можно создавать объекты для совместного доступа (например создать там все классы гуя, и что бы каждый интерпретатор дергал их как хотел, причем как это сделать огранизуя все через сокеты — можно представить, но тогда приедтся каким-то образом сериализовать данные, и + потери в скорости).
Просто так, расшарить класс между интерпретаторами не удастся
p.s. если есть способ, с удовольствием бы его узнал
мне надо: из разных процессов дергать методы класса, причем процессы должны быть по-настоящему независимы (сейчас это достигается за счет разделения на отдельные интерпретаторы). mmap — в принципе помогает расшарить доступ к одному объекту — к файлу (в принципе не плохо, но будет ли это быстрее чем пайпы?), и это не такой большой шаг, учитывая что можно создавать виртуальные файлы.
а надо чтото вроде виртуального хранилища питоновских объектов, где можно создавать объекты для совместного доступа (например создать там все классы гуя, и что бы каждый интерпретатор дергал их как хотел, причем как это сделать огранизуя все через сокеты — можно представить, но тогда приедтся каким-то образом сериализовать данные, и + потери в скорости).
Просто так, расшарить класс между интерпретаторами не удастся
p.s. если есть способ, с удовольствием бы его узнал
а написать для этих целей декоратор что мешает?
А сейчас кризис. И если, грубо говоря, можно обойтись сотней серверов вместо пятисот, то почему бы не сэкономить :)
хм… покончу с РНР, займусь питоном!
Кому интеерсно, то попытки удалить GIL уже предпринимались code.google.com/p/python-safethread/
без GIL придётся делать больше лишних телодвижений в многопоточных приложениях да и embedded программирование усложнится, в Ruby вон удалил)
без GIL придётся делать больше лишних телодвижений в многопоточных приложениях да и embedded программирование усложнится, в Ruby вон удалил)
Sign up to leave a comment.
Python попытаются научить летать