The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Расширение интерпретатора Python для JIT-компиляции фрагментов кода с помощью LLVM

01.07.2012 18:51

Разработчик Siu Kwan Lam представил в дискуссионном листе LLVMdev проект Pymothoa, в рамках которого разрабатывается расширение интерпретатора Python для JIT-компиляции отдельно взятых функций с помощью LLVM. Расширение не требует модификации интерпретатора и может быть легко установлено в любую систему.

Pymothoa добавляет в Python новый декоратор, позволяющий "пометить" функции, при исполнении которых должен быть задействован JIT-компилятор. При этом, в силу технических ограничений, функция должна быть написана на специальном диалекте Python, предусматривающем явное объявление переменных, статическую типизацию и отказ от объектов и исключений. Код функции преобразуется в дерево AST (Abstract Syntax Trees), затем в байткод LLVM и выполняется с помощью виртуальной машины.

Сам автор позиционирует свой проект как более удобную замену модулям, написанным на языке Си. Pymothoa позволяет быстро оптимизировать код, без необходимости его переписывания на Си и снимает с пользователя задачу по компиляции и установке модулей. Все, что необходимо сделать, это установить LLVM и Pymothoa.



  1. Главная ссылка к новости (http://lists.cs.uiuc.edu/piper...)
Автор новости: Evgeny Zobnin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/34236-python
Ключевые слова: python, jit, llvm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Anonimoyss (ok), 19:12, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Круто!
    Жаль, benchmark-ов нет.
     
  • 1.2, Аноним (-), 19:15, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сначала придумали проблему, а потом героически её решают.
     
     
  • 2.3, h31 (ok), 19:30, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Использование интерпретируемых ЯП как правило повышает надежность, портируемость и скорость написания программ. Да, они медленнее, но это не придуманная кем-то специально проблема.
     
     
  • 3.10, Аноним (-), 19:50, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Использование интерпретируемых ЯП как правило повышает надежность,

    Я заметил: 90% багов убунты - в их питоновом булшите, который я по этому поводу деинсталлирую первым делом. После чего у меня перестают падать/виснуть/глючить какие-то недоноски и все просто работает :)

    > портируемость

    Такая портируемость, конечно - три версии интерпретера в системе. Какого дьявола у меня нет трех версий компилера, а C89-сорсы собираются и по сей день?

    > и скорость написания программ.

    Да, единственное чем могут покозырять питонисты:
    - Моя скорость ввода - 1000 знаков в минуту!!!
    - ???!!!
    - ...правда такая фигня получается!

     
     
  • 4.11, MacMan (ok), 20:00, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну это вы обманываетесь обманываете 90 багов убунты это проблемы с видеодрайве... большой текст свёрнут, показать
     
     
  • 5.23, Аноним (-), 00:02, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Простите, вы убунту на картинке видели Или где там баги с пульсаудио Ну вот он... большой текст свёрнут, показать
     
     
  • 6.36, Аноним (-), 03:06, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    булщит не питон, а убунта. пользую дебиан, пишу на питоне - ничего не падает.
     
     
  • 7.37, Аноним (-), 03:20, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > булщит не питон, а убунта. пользую дебиан, пишу на питоне - ничего не падает.

    Булшит - это то что написано на питоне. А свое - не пахнет, вы про это не забывайте. Самого себя судить нельзя. Это неверное решение.

     
     
  • 8.130, Аноним (-), 12:59, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ложь Пахнет Можно Верное ... текст свёрнут, показать
     
  • 6.41, ragus (ok), 04:02, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ооо... вы просто скажите, какой ЯП с вашей точки зрения лучший.
     
     
  • 7.49, Аноним (-), 04:43, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ооо... вы просто скажите, какой ЯП с вашей точки зрения лучший.

    Который осваивать сложно. Например плюсы. Так по крайней мере идиоты с ветром в голове отсеиваются. По чисто технической причине :)

    "Создайте систему которой может пользоваться даже дурак - и только дурак захочет ей пользоваться". Законы Мерфи :)

     
     
  • 8.50, ragus (ok), 04:51, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    почему же так мало сайтов на С ... текст свёрнут, показать
     
     
  • 9.58, Аноним (-), 05:51, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что он на вебню не особо то и заточен В честь чего там и отхапал все спе... текст свёрнут, показать
     
     
  • 10.82, Аноним (-), 12:23, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А на питоне нормальных сайтов тоже хрен найдешь Ну да всякие там ютубы частью я... текст свёрнут, показать
     
     
  • 11.93, Аноним (-), 16:34, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Напоминает анекдоты про войну чукч и китайцев - А давайте воевать - Ну давайт... текст свёрнут, показать
     
     
  • 12.129, Аноним (-), 12:48, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не смешно как-то ... текст свёрнут, показать
     
  • 8.78, dxd (?), 10:47, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Предлагайте сразу Malbolge А то ваше дерьмо с пятью способами передачи объекта ... текст свёрнут, показать
     
  • 8.79, Anonymous100500 (?), 11:56, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Т е по-твоему чем сложнее язык, тем он лучше ... текст свёрнут, показать
     
     
  • 9.86, Аноним (-), 13:32, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем сложнее язык тем он илитнее ... текст свёрнут, показать
     
     
  • 10.94, Аноним (-), 16:35, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Тем он лучше держит идиотов на расстоянии Что хорошо Хреново когда пироги пече... текст свёрнут, показать
     
  • 9.98, Аноним (-), 17:01, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, по-моему, хреново когда всякие дятлы с ветром в голове лезут программить пр... текст свёрнут, показать
     
     
  • 10.101, Аноним (-), 17:08, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как показал опыт c и PERL, если сложный язык и держит идиотов на расстоянии -... текст свёрнут, показать
     
  • 8.83, Аноним (-), 12:35, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Питон очень сложный для осваивания язык, где любой тип имеет кучу методов, где к... текст свёрнут, показать
     
     
  • 9.95, Аноним (-), 16:44, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Судя по тому кто на нем пишет - это современный вариант вьюжлвасика, не более Н... текст свёрнут, показать
     
     
  • 10.102, Аноним (-), 17:11, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не суди и не судим будешь Как и на любом языке В Питон Вранье В общем, хва... текст свёрнут, показать
     
  • 10.121, ig0r (??), 16:16, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    вы с php не путаете ... текст свёрнут, показать
     
  • 9.111, arisu (ok), 20:28, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    откуда в гвидобейсике функциональщина, если опоссум сказал, что TCO не нужно ... текст свёрнут, показать
     
     
  • 10.113, Аноним (-), 15:08, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В гугле забанин Python язык мультипардигмный и ООП и функциональщина всё в одн... текст свёрнут, показать
     
     
  • 11.122, arisu (ok), 16:19, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    что характерно 8212 питонофанбой ничего не понял, но кинулся защищать любимый... текст свёрнут, показать
     
  • 6.84, Аноним (-), 12:48, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да tuxguitar запусти, или любой midi секвенсор и всё сам поймешь Наверное потом... большой текст свёрнут, показать
     
     
  • 7.97, Аноним (-), 16:57, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Боюсь что в миди-секвенсорах я разбираюсь как свинья в апельсинах Но ради интер... большой текст свёрнут, показать
     
     
  • 8.110, Аноним (-), 18:15, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    О, по поводу glibc Когда там у вас в сишечках виртуалбокс из тамблвида перестан... текст свёрнут, показать
     
  • 8.114, Аноним (-), 15:22, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А что там разбираться поставь и всё сам услышишь, параллельной обработки звука н... большой текст свёрнут, показать
     
     
  • 9.123, arisu (ok), 16:20, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и что мне что-то подсказывает, что про него говорить сложно, а вот ты 8212 т... текст свёрнут, показать
     
  • 5.126, Michael Shigorin (ok), 00:36, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Особенно помогает то, что на нём невозможно написать код с корявыми отступами.

    Это которые короткой кнопочкой или которые длинной? :]

     
  • 5.136, Michael Shigorin (ok), 17:46, 05/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Куда важнее, возможность его последующего рефакторнга/исправления багов.

    Особенно генетических... сегодня прислали:

    >>> class B(object):
    ... arr = []
    ... def __init__(self):
    ... self.arr.append(1)
    ...
    >>> x = B()
    >>> y = B()
    >>> x.arr

    [1, 1]
    >>> y.arr

    [1, 1]
    >>> B.arr

    [1, 1]
    >>> z = B()
    >>> B.arr

    [1, 1, 1]
    >>> x.arr

    [1, 1, 1]

    -- бишь обращение к тому, что в Ruby называется class method, способно привести к изменению состояния класса (!), влияющему на состояние инстанциируемых в дальнейшем объектов (!!!).

     
     
  • 6.137, arisu (ok), 19:57, 05/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а в чём проблема-то? в принципе, нормальное поведение для прототипной модели, где «класс» от «объекта» ничем особым не отличается. другое дело, что синтаксис тут корявый — ну так на то оно и гвидобейсик, чтобы страусов не пугать.

    добавлю, что это достаточно удобная возможность для изменения состояния системы «на лету».

     
  • 4.12, Аноним (-), 20:13, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Какого дьявола у меня нет трех версий компилера, а C89-сорсы собираются и по сей день?

    Хм, а меня три 4.2 для одного старого проекта, 4.6 основной, и 4,7 на который я собираюсь портировать код но руки пока не доходят, так как работы много.

     
     
  • 5.13, Anonimoyss (ok), 20:39, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > 4,7 на который я собираюсь портировать код но руки пока не доходят, так как работы много.

    Код сишный?
    Не на плюсах?

    Если да - хотелось бы посмотреть на пример такого "чудесного" кода! :-)

     
  • 5.24, Аноним (-), 00:03, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хм, а меня три 4.2 для одного старого проекта, 4.6 основной, и
    > 4,7 на который я собираюсь портировать код

    Что-то руки у вас не оттуда растут. По крайней мере, если сорец писаный "на си вообще" в конце 80-х собирается и сегодня, gcc 4.6 - вам наверное стоило бы подумать о том что вы делаете не так и откуда у вас руки растут.

     
  • 4.21, h31 (ok), 22:15, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > багов убунты
    > убунты

    Сами же и ответили на свой вопрос. Убунтоспецифичные утилиты тестируют только убунтойды, а общелинуксовые - тестируются всеми дистрибутивами. В итоге получается, что последние стабильнее.

     
     
  • 5.25, Аноним (-), 00:06, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а общелинуксовые - тестируются всеми дистрибутивами. В итоге получается, что последние
    > стабильнее.

    Ну да, yum тормозит и ловит OOM не менее стабильно. Ну и так далее. В общем если нечто писано на питоне - это 99% гарантия того что это бажная наколенная поделка, где единственным плюсом было то что разработчики гнали как на пожар. Поскольку я разработчиком этого шита не являюсь, для меня заметны только недостатки. Ну вот пусть сами разработчики и пользуют свой третьесортный крап. А я для себя придумал просто критерий такой: если в зависимостях питон -> не ставим или деинсталлим по возможности. Очень удобно, btw :)

     
     
  • 6.29, Аноним (-), 00:18, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    сколько лет пользуюсь yum'ом, ни разу не видел никаких с ним OOMов и тормозов которые были как-то связаны именно с питоном. Заканчивай выгребать дерьмо из своей головы в интернет.
     
     
  • 7.47, Аноним (-), 04:35, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > сколько лет пользуюсь yum'ом, ни разу не видел никаких с ним OOMов

    И сколько лет вы им пользуетесь? А то на машине с 128Мб он спокойно ловит OOM. Хотя некоторые конечно предпочитают отращивать немеряный своп и полчаса слушать шуршание винта :)

     
  • 6.63, arisu (ok), 06:54, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    справедливости ради — wicd работает без нареканий. разве что немного раздражает питонистый демон в htop.
     
     
  • 7.104, Аноним (-), 17:17, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > справедливости ради — wicd работает без нареканий.

    Справедливости ради, мне и без него неплохо живется. Честное пионерское.

     
  • 5.140, Lain_13 (?), 14:53, 10/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Парадоксально, но на моей системе — факт. Ни разу не имел проблем с ubuntu-only питоновским софтом, но вот GUI к Deluge, писанное вроде как на этом самом питоне, меня уже заколебали своей любовью внезапно сожрать одно, а то и все 4 ядра процессора вообще без видимой на то причины (благо хоть раздача ведётся отдельным процессом, писанном не на питоне) или внезапно отожрать гектар памяти пот хрен знает что вообще (явно не на кэш блоков). А вот Transmission себя очень даже хорошо ведёт, например.
     
  • 4.35, Xasd (ok), 02:49, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какого дьявола у меня нет трех версий компилера...

    правда чтоле нет? :-D

    может плохо искали?

    а наберите ка ''sudo aptitude search gcc'' и поглядите на свои три версии GCC

    (да, да, установить их можно параллельно, и компилировать разные несовместимые случаи)

     
     
  • 5.46, Аноним (-), 04:34, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > а наберите ка ''sudo aptitude search gcc'' и поглядите на свои три версии GCC

    Извините, я про установленные версии. У меня 1 сишный компилер. И ... несколько версий питона. Хотя питон намного моложе, а уже такая бяка творится.

     
     
  • 6.76, Xasd (ok), 09:53, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    и зачемже вы установили несколько версий Пайтона?

    по умолчанию их тоже не ставится несколько, вобщето

     
     
  • 7.106, Аноним (-), 17:19, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > и зачемже вы установили несколько версий Пайтона?

    Так они по дефолту ставятся. Хотя-бы по причине несовместимости 2.х и 3.х.

    > по умолчанию их тоже не ставится несколько, вобщето

    Ну да, щаз. Как минимум 2.7 и 3 параллельно норовят втюхать, сами знаете почему.

    И да, что-то я не помню чтобы мне предлагали для C11 скачать отдельный компилер, а для C89 - еще один. Это прерогатива питонистов.

     
     
  • 8.117, Аноним (-), 15:45, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ложь В последней Ubuntu 2 7 по дефолту, 3 не установлен А какой компилятор сей... текст свёрнут, показать
     
  • 3.14, Андрей (??), 20:45, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > повышает надежность

    А мне казалось, что чем меньше абстракции, тем надёжней. Т.е. ASM -> C -> C++ / интерпретируемые языки.

     
     
  • 4.20, h31 (ok), 22:07, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Абстракции действительно не прибавляют надежности.
    Сама по себе интерпретация в большинстве случаев не вводит новых абстракций (не считая байткода). В Си есть компилятор, в Питоне - интерпретатор, стрелочек равное количество.
     
     
  • 5.26, Аноним (-), 00:07, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Абстракции действительно не прибавляют надежности.

    Да. Питонистам даже впадлу успех файловых операций проверять как правило. Так что если что хоть минимально не по плану - все, you're screwed up. При том ни внятного сообщения о ошибке, ни культурного завершения, ни retry осмысленного, ни fallback. Просто продолжают вкалывать дальше как ни в чем ни бывало. Получая глюки где-то опосля.

     
     
  • 6.28, Аноним (-), 00:14, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    фантазёр, хватит херню нести
     
  • 6.45, Xasd (ok), 04:29, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто продолжают вкалывать дальше как ни в чем ни бывало.

    вот уж насмешил так правда насмешил :-D

    покажи-ка свой исходный код (на Python), который вот так-бы делал :-D

     
     
  • 7.51, Аноним (-), 04:53, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > покажи-ка свой исходный код (на Python), который вот так-бы делал :-D

    У убунтуйцев их апгрейдер посмотрите. Оно так умеет - пытается шпарить не найдя нужный файл и впадает в бесконечный цикл. Поймано вообще strace'ом когда эта срaнь полчаса проц грузила без какого либо выхлопа, делая вид что "типа, работаем, все по плану".

     
     
  • 8.72, Аноним (-), 08:58, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В этом виноват питон ... текст свёрнут, показать
     
  • 8.119, Аноним (-), 15:52, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала название программы Покажите код который это делает ... текст свёрнут, показать
     
  • 5.92, Аноним (-), 16:16, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Абстракции действительно не прибавляют надежности.
    > Сама по себе интерпретация в большинстве случаев не вводит новых абстракций (не
    > считая байткода). В Си есть компилятор, в Питоне - интерпретатор, стрелочек
    > равное количество.

    В Си есть и интерпретатор, в Python есть и компилятор.

     
  • 4.71, Аноним (-), 08:57, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А мне казалось, что чем меньше абстракции, тем надёжней. Т.е. ASM ->
    > C -> C++ / интерпретируемые языки.

    Дооо, асемблер(ы) то надеждны. Особенно учитывая количество багов в интеловских процессорах, которые кампиляторы, к слову, стараются обойти. Там уж надежность так надежность.

     
     
  • 5.108, Аноним (-), 17:23, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > которые кампиляторы, к слову, стараются обойти.

    Вам бы спеллчекер хотя-бы для начала взять. А то похоже баги у вас совсем не в процессорах :). Не, баги там конечно бывают, но для этого есть апдейты микрокода. И в общем случае компилеры все-таки не занимаются воркэраундом чужих багов.

     
  • 3.15, Crazy Alex (ok), 21:05, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Портируемость - ещё более-менее. С остальным СОВРЕМЕННЫЕ компилируемые языки (вроде D или Go) справляются не хуже, если у вас не скрипт на три строки.
     
     
  • 4.27, Аноним (-), 00:09, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Портируемость - ещё более-менее.

    Сказки. Запустить питоновый скрипт 5-летней давности может просто не получиться вообще. А севый сорц из лохматых девяностых откомпилить и сейчас не проблема в общем случае. Нафиг надо такую "портируемость". А еще через 5 лет скрипты для питона 2.х вообще не смогут работать т.к. будет 3.х. Спасибо, сами на такое закладывайтесь и потом переписывайте постоянно, если вам заняться нечем.

     
     
  • 5.42, ragus (ok), 04:10, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Портируемость - ещё более-менее.
    > Сказки. Запустить питоновый скрипт 5-летней давности может просто не получиться вообще.

    код в студию.

    > А севый сорц из лохматых девяностых откомпилить и сейчас не проблема
    > в общем случае.

    код в студию. желательно что-то сложнее hello world и где есть сокеты и треды.

     
     
  • 6.52, Аноним (-), 05:02, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот специально для вас буду по ископаемым какашкам рыться Мне хватило того что ... большой текст свёрнут, показать
     
     
  • 7.59, ragus (ok), 06:05, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне хватило того что несколько скриптов слитых с посторонних сайтов, писаных под питон 2.4 на том который в системе дефолтный (2.7) просто не изволили работать. Буллшит.

    Зачем вы едите кактус? вас кто-то заставляет использовать python? почему вы не взяли православный C/C++ ?

    >Ну вот, уже заюлили. Да блин, берем "референсный" LZ (Lempel Ziv), ископаемый как черти-что. Собирается.

    и что? на python тоже можно писать так, что работать будет на 2.4-2.7 (тройку не трогал).
    где ввод/вывод?

     
  • 7.120, Аноним (-), 16:02, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот специально для вас буду по ископаемым какашкам рыться. Мне хватило того
    > что несколько скриптов слитых с посторонних сайтов, писаных под питон 2.4
    > на том который в системе дефолтный (2.7) просто не изволили работать.

    А почему вы решили что скрипты "слитые с посторонних сайтов" у вас должны работать? И при чём тут версия python?

     
  • 6.127, Michael Shigorin (ok), 00:41, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Сказки. Запустить питоновый скрипт 5-летней давности может просто не получиться вообще.
    > код в студию.

    Zope 2.10 подойдёт?

     
     
  • 7.128, Аноним (-), 12:42, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Zope 2.10 подойдёт?

    Нет. Это фреймворк а не скрипт со всеми вытекающими.

     
     
  • 8.139, Michael Shigorin (ok), 01:51, 07/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Досада-то, фреймворк на скриптовом языке уже не скрипт Наверное, cray этого не... текст свёрнут, показать
     
  • 4.132, Аноним (-), 13:04, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Портируемость - ещё более-менее. С остальным СОВРЕМЕННЫЕ компилируемые языки (вроде D или
    > Go) справляются не хуже, если у вас не скрипт на три
    > строки.

    А почему вы решили, что python это не компилируемый язык?

     
  • 3.31, Аноним (-), 01:20, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Использование интерпретируемых ЯП как правило повышает надежность, портируемость и скорость
    > написания программ.

    Какое отношение имеет к питону? особенно про "надёжность"?

     
     
  • 4.54, Аноним (-), 05:07, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Какое отношение имеет к питону? особенно про "надёжность"?

    Ну как же, сам себя не похвалишь - никто не похвалит. В смысле, это был очередной рекламный булшит от фанатиков. Которые однако делают себе огромные скидки на качество своего кода. Как-то забывая что если код быстро налабан - это означает что в нем море багов. Потому что в нормально поставленном процессе разработки при создании сколь-нибудь большого проекта кодинг вообще не обязан занимать бОльшую часть времени.

     
     
  • 5.70, Аноним (-), 08:55, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что в нормально поставленном процессе разработки при создании сколь-нибудь большого
    > проекта кодинг вообще не обязан занимать бОльшую часть времени.

    Да, подавляющую часть времени должны занимать собрания, тимбилдинг и корпоративы.


     
     
  • 6.91, Аноним (-), 16:15, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Потому что в нормально поставленном процессе разработки при создании сколь-нибудь большого
    >> проекта кодинг вообще не обязан занимать бОльшую часть времени.
    > Да, подавляющую часть времени должны занимать собрания, тимбилдинг и корпоративы.

    Аналитика, выбор инструментария 20% времени проекта. Кодинг 10%. Тесты, тесты, и еще раз тесты, а после отладка отладка и еще раз отладка и профилирование и всё это занимает 70 % времени.

     
     
  • 7.105, Аноним (-), 17:17, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Читаю и плачу. Рецепт изготовления быдло-кода на 100%.
    Слава богу это только фантазии.

     
     
  • 8.109, Аноним (-), 17:27, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это как раз рецепт изготовления того что будет работать и не обгадится в первые ... текст свёрнут, показать
     

  • 1.4, Аноним (-), 19:30, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше Cython?
     
     
  • 2.5, Аноним (-), 19:34, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что JIT, а потому динамичнее.
     
     
  • 3.96, Анонимоус (?), 16:49, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Иными словами: ещё быстрее сжирает память.
     
     
  • 4.134, Аноним (-), 13:14, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Иными словами: ещё быстрее сжирает память.

    Сжирает память = экономит время камня.

     

  • 1.16, добрый дядя (?), 21:08, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    а как же PyPy? оно тоже JIT-нутое, вот лучше бы как раз PyPy на LLVM натаскивали

    и вообще, я верю в светлое будущее баткодовых платформ, когда они будут модульными и шустрыми

     
     
  • 2.138, Аноним (138), 07:12, 06/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    судя по опыту Unladden Swallow, такое натаскивание не принесет ничего кроме лишнего гемора. Именно поэтому US и забросили.
    LLVM пока плохо работает с динамическими языками, но возможно в будущем его допилят
     

  • 1.19, Аноним (-), 21:42, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "и отказ от объектов"
    я  не спец, но мне казалось что любая переменная или что-либо к коде питона это объект. Там все объекты. В этом и смысл питона.
    Или я что-то перепутал ?
     
  • 1.34, Xasd (ok), 02:04, 02/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Exception нельзя из-за того что оно является дочернем Py-объектом? или в чём там проблема случилась?
     
     
     
     
    Часть нити удалена модератором

  • 4.57, б.б. (?), 05:09, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> ШТООО?
    > JIT там натурально есть :)

    Мы таки везде есть :)

     

  • 1.44, jOKer (ok), 04:25, 02/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Супер круто! Автору респект и уважуха.
    Ушел пробовать
     
  • 1.80, Аноним (-), 12:01, 02/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > отказ от объектов и исключений

    Вот это конечно серьёзное ограничение. Сильно снижает ценность решения.

     
     
  • 2.112, Аноним (-), 22:13, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    посмотри код решения, это же наколеночное поделие студента. Не удивительно.
     

  • 1.81, Аноним (-), 12:20, 02/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а почему наново писать а не Unladden Swallow воскресить?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру