А на мой взгляд главный косяк HTC Desire в микро размере внутренней памяти. Наглядно сравниваю с планшеткой — там все просто работает вообще без какого либо вмешательства, а я тут рутую и a2sd завожу.
А если я блин не гик, который с понятием root лет 10 как знаком? «Извините, обломитесь поставить instagram, место ёк».
from gevent import http
import re
root = re.compile('^/$')
def callback(request):
if root.match(request.uri):
request.add_output_header('Content-Type', 'text/html')
request.send_reply(200, "OK", '<b>hello world</b>')
else:
request.add_output_header('Content-Type', 'text/html')
request.send_reply(404, "Not Found", "<h1>Not Found</h1>")
print 'Serving on 8088...'
http.HTTPServer(('0.0.0.0', 8088), callback).serve_forever()
Хелловорлды несерьезно, и я вам наглядно показал, что питон в хелловорлдах ну просто ой какой шустрый, что конечно же неправда, так как не может питон быть шустрым, все же знают.
Поэтому и предлагаю продолжить на более серьезном материале — вы подаете статью, а я пытаюсь побить Go на python :) Будет весело.
from gevent import http
def callback(request):
request.add_output_header('Content-Type', 'text/html')
print 'Serving on 8088...'
http.HTTPServer(('0.0.0.0', 8088), callback).serve_forever()
Requests per second: 16830.99 [#/sec] (mean)
Ваш пример на Go — Requests per second: 10671.47 [#/sec] (mean), машинка четырехядерная.
Всем понятно что в данном случае чистый C победил, но уж если тестировать хелловорлды, то честно, задействуя все возможности обширных библиотек ;)
Я пожалуй потрачу немного времени, и разделю с вами любовь к питону в комментариях к вашим постам.
Да нет, код нормальный, все ок. Но в общем тестировать хелло ворлды бесполезно, это про производительность — есть мнение, что тормозить будет не питоно код на некоторых задачах.
Второе — библиотека под Го бедна как мышь в коммунистической церкви.
Но как я понимаю будут следующие части, и там вы учтете мои замечания и разгромите по всем фронтам.
Дизайн его блогов и докладов многим нравится. Есть тема оформления для sphinx, которую сейчас ставят все подряд.
Но в общем дизайн это же так. Что мне нравится гораздо больше в Армине, это что за написанием кода, хорошего на мой вкус, хоть и не все его идеи удачны, он не забывает писать прекрасную документацию, ясно и доступно выражая свои мысли. Я вот пока так не могу. Донести до хабра прелести trafaret я так и не смог, по всей видимости.
Ну предыдущий вариант явно разрешает принять аргументы, потом пихает их в первый вызов __init__, а последующие тупо игнорит.
Сказать `хрен вам` и то в сто раз прекраснее чем подложить такую свинью :)
В общем надо подумать и запилить абсолютно правильную реализацию синглтона на все случаи жизни, пусть и, эх эх, не столь краткую.
Аргументы. Давайте рассудим — вот я вызываю a = Singleton(234), а в другом месте вызову b = Singleton(8903890). Вот тут я как-то в замешательстве, а что с этим делать? То есть как бы я уже создал один синглетон, который 234, а что делать с новым, у которого 8903890?
Генераторы это генераторы, они explicit. То что вы показываете это скорее greenlet или stackless python.
В общем сейчас дефакто используют greenlet. Так как в самом python есть генераторы. которые типа тоже корутины, то гринлетов в корелиб не будет никогда.
Ой, это же скользкая тема :) Во первых сам cpython быстрее, но не критично. А во вторых, если не выходим за рамки stdlib, легким движением запускаем через pypy и взлетаем в космос. Сейчас прогнал свой древний raytracing пример на pypy, скорость меня приятно удивила.
А если я блин не гик, который с понятием root лет 10 как знаком? «Извините, обломитесь поставить instagram, место ёк».
Хотя звук да, тоже «отличный».
Хелловорлды несерьезно, и я вам наглядно показал, что питон в хелловорлдах ну просто ой какой шустрый, что конечно же неправда, так как не может питон быть шустрым, все же знают.
Поэтому и предлагаю продолжить на более серьезном материале — вы подаете статью, а я пытаюсь побить Go на python :) Будет весело.
Requests per second: 16830.99 [#/sec] (mean)
Ваш пример на Go — Requests per second: 10671.47 [#/sec] (mean), машинка четырехядерная.
Всем понятно что в данном случае чистый C победил, но уж если тестировать хелловорлды, то честно, задействуя все возможности обширных библиотек ;)
Я пожалуй потрачу немного времени, и разделю с вами любовь к питону в комментариях к вашим постам.
Второе — библиотека под Го бедна как мышь в коммунистической церкви.
Но как я понимаю будут следующие части, и там вы учтете мои замечания и разгромите по всем фронтам.
Но в общем дизайн это же так. Что мне нравится гораздо больше в Армине, это что за написанием кода, хорошего на мой вкус, хоть и не все его идеи удачны, он не забывает писать прекрасную документацию, ясно и доступно выражая свои мысли. Я вот пока так не могу. Донести до хабра прелести trafaret я так и не смог, по всей видимости.
Сказать `хрен вам` и то в сто раз прекраснее чем подложить такую свинью :)
В общем надо подумать и запилить абсолютно правильную реализацию синглтона на все случаи жизни, пусть и, эх эх, не столь краткую.
Аргументы. Давайте рассудим — вот я вызываю a = Singleton(234), а в другом месте вызову b = Singleton(8903890). Вот тут я как-то в замешательстве, а что с этим делать? То есть как бы я уже создал один синглетон, который 234, а что делать с новым, у которого 8903890?
В общем сейчас дефакто используют greenlet. Так как в самом python есть генераторы. которые типа тоже корутины, то гринлетов в корелиб не будет никогда.