The OpenNET Project / Index page

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

Опубликован Codon, компилятор для языка Python

27.12.2022 12:52

Стартап Exaloop опубликовал код проекта Codon, развивающего компилятор для языка Python, способный генерировать на выходе чистый машинный код, не привязанный к Python runtime. Компилятор развивается авторами Python-подобного языка Seq и позиционируется как продолжение его развития. Проектом также предлагается собственный runtime для исполняемых файлов и библиотека функций, заменяющая библиотечные вызовы на языке Python. Исходные тексты компилятора, runtime и стандартной библиотеки написаны с использованием языков C++ (с привлечением наработок из LLVM) и Python, и распространяются под лицензией BSL (Business Source License).

Лицензия BSL была предложена сооснователями MySQL в качестве альтернативы модели Open Core. Суть BSL в том, что код расширенной функциональности изначально доступен для внесения изменений, но в течение какого-то времени может применяться бесплатно только при соблюдении дополнительных условий, для обхода которых требуется приобретение коммерческой лицензии. Дополнительные лицензионные условия проекта Сodon предписывают перевод кода на лицензию Apache 2.0 через 3 года (1 ноября 2025 года). До этого времени лицензия разрешает копирование, распространение и модификацию, при условии использования не в коммерческих целях.

Производительность выдаваемых на выходе исполняемых файлов преподносится как близкая к программам, написанным на языке Си. По сравнению с использованием CPython прирост производительности при компиляции с использованием Codon оценивается в 10-100 раз при однопоточном выполнении. При этом в отличие от Python в Codon дополнительно реализована возможность применения многопоточности, которая позволяет добиться ещё большего увеличения производительности. Codon также позволяет выполнять компиляцию на уровне отдельных функций для использования скомпилированного представления в существующих Python-проектах.

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

Компилятором поддерживается большая часть синтаксиса Python, но компиляция в машинный код накладывает ряд ограничений, мешающих использованию Codon в качестве прозрачной замены CPython. Например, в Codon для целых чисел используется 64-разрядный тип int, в то время как в CPython размерность целых чисел не ограничена. Для достижения совместимости с Codon больших кодовых баз может потребоваться внесение изменений в код. Как правило несовместимости вызваны отсутствием реализации для Codon определённых Python-модулей и невозможностью использования некоторых динамических возможностей языка. Для каждой подобной несовместимости компилятор выдаёт детальное диагностическое сообщение с информацией как можно обойти возникшую проблему.



  1. Главная ссылка к новости (https://github.com/exaloop/cod...)
  2. OpenNews: Выпуск Nuitka 1.2, компилятора для языка Python
  3. OpenNews: В JIT-компиляторе Pyston-lite реализована поддержка Python 3.10
  4. OpenNews: DeepMind открыл код S6, библиотеки с реализацией JIT-компилятора для CPython
  5. OpenNews: Выпуск Cython 0.27, компилятора для языка Python
  6. OpenNews: Представлен HOPE, JIT-компилятор для языка Python, транслирующий в C++
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58395-codon
Ключевые слова: codon, python, complie
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (104) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:01, 27/12/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     

     ....ответы скрыты модератором (6)

  • 1.5, Серб (ok), 14:06, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > перевод кода на лицензию Apache 2.0 через 3 года (1 ноября 2025 года)

    Вот 1 ноября 2025 года и приходите, а пока ВОН!!!

     
     
  • 2.8, Аноним (7), 14:13, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ок, уходим :(
     

  • 1.9, Ноня (?), 14:17, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Угадаете, какая судьба постигнет этот очередной компилятор питона или подсказать?

    А всё потому что у языков одной реализации без стандарта, с BDFL и принципом развития "а давайте ещё этого хапнем" будущего нет.

     
     
  • 2.12, Аноним (12), 14:22, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Тем не менее, у питона десяток реализаций. Больше, чем у жавы.
     
     
  • 3.19, Ноня (?), 14:39, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Тем не менее, у питона десяток реализаций.

    Пара-тройка подлагивающих, которые регулярно подзабываются и мейнстримом не используемы.

     
  • 3.21, анон (?), 15:03, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как будто это что-то хорошее, ага
     
  • 2.40, псевдонимус (?), 16:28, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тем не менее эта пакость успешно пожрала мозги огромного количества кодеров.
     
     
  • 3.175, Аноним (175), 19:16, 30/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это были не кодеры :) Нормальный кодер за километр к такому г****ну не приблизится.
     
  • 2.78, Skullnet (ok), 19:41, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, зато будущее есть у Go, у которого стандарт языка так и застрял в 70х годах.

    Недавно добавили темплейтинг, прогресс!

     
     
  • 3.98, Sem (??), 21:44, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дженерики.
     
  • 3.112, анон (?), 23:05, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ахахаха да, го, с, с++ все это дерьмо старое проперженное, нам бы свифтов да растов какихнить вот тогда и смузи польется.
     
     
  • 4.116, Skullnet (ok), 00:01, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ахахаха да, го, с, с++ все это дерьмо старое проперженное, нам бы
    > свифтов да растов какихнить вот тогда и смузи польется.

    Да ты что, по сравнению с C++ как ЯП Go даже рядом не стоит. Единственное преимущство Go - это сокеты и корутины по дефолту.

     
     
  • 5.124, анон (?), 02:16, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ладно тебе, всего лишь ещё 10 лет подождать и в твой любимый язык комитет стандартизации добавит и сокеты, и корутины, и модули, и пакетный менеджер, и небо, и даже аллаха может быть.

    потом ещё 10 лет подождать, и может даже в компилятор добавят все эти вещи.

    тогда уж го точно на помойку отправится, ух заживём!

     
     
  • 6.155, Аноним (155), 23:05, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кроме пакетного менеджера, которая не часть компилятора, лол .это уже есть. используйте нормальный компилятор (msvc) а не высеры вроде clang, где все перечисленное уже есть.
    И более того, это уже применяем  в продакшене.
     
  • 5.125, Neon (??), 02:18, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эх...С++ нормальные бы стандартные библиотеки, а не то что есть. Стандартную библиотеку развивают разработчики сами для себя, а не для рядовых программистов. И она все больше напоминает бред больного под высокой температурой. Типа, эллиптические функции в стандартной библиотеки есть, а сетевых нет. Ну да, эти интегральные функции чаще видно программистам в работе встречаются чем работа с сетью))).
     
     
  • 6.127, Skullnet (ok), 03:00, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Эх...С++ нормальные бы стандартные библиотеки, а не то что есть. Стандартную библиотеку
    > развивают разработчики сами для себя, а не для рядовых программистов. И
    > она все больше напоминает бред больного под высокой температурой. Типа, эллиптические
    > функции в стандартной библиотеки есть, а сетевых нет. Ну да, эти
    > интегральные функции чаще видно программистам в работе встречаются чем работа с
    > сетью))).

    Qt и Boost - это стандартные библиотеки для С++, а не тот позор, который в STL.

     
  • 2.117, Аноним (117), 00:01, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > у языков одной реализации без стандарта [...] будущего нет.

    Ты это замечательное обобщение сделал на одном примере? Или на трёх?

    Или может ты не сторонник эмпирического знания, и считаешь, что любое знание о реальности должно выводиться из Вселенской Мудрости? Типа Библии, Корана, Торы или что там ещё претендует на звание Вселенской Мудрости? Если так, то ты можешь сформулировать вкратце ту Вселенскую Мудрость, из которой ты делаешь такие далекоидущие выводы?

     

  • 1.11, Аноним (11), 14:22, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Всё пытаются и пытаются ускорить питон. А он всё никак не ускоряется и не ускоряется.
     
     
  • 2.18, Аноним (16), 14:38, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Он ускоряется, но, при этом, и удлиняется.
     
     
  • 3.30, Аноним (-), 16:09, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное надеятся на то что в конце концов лоренцево сокращение поможет.
     
     
  • 4.150, Аноним (16), 20:34, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Когда до этого дойдёт, то приращение скорости будет ничтожным.
     
  • 3.167, Xdsff (?), 20:21, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну согласно теории относительности при ускорении все укорачивается так то
     
  • 2.176, Аноним (175), 19:17, 30/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что удава надо душить, а не оттягивать! :)
     

  • 1.23, Аноним (23), 15:15, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мутная, какая-то, лицуха. Зачем так усложнять?
     
     
  • 2.24, Аноним (24), 15:26, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >мутная, какая-то, лицуха. Зачем так усложнять?

    Разрабы хотят икорки на хлеб намазать.

     
     
  • 3.177, Аноним (175), 19:19, 30/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На ускорителе бесплатного пестона?! По-моему, ребята слишком амбициозны (читай "дол6оё...").
     
  • 2.35, Брат Анон (ok), 16:13, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да вроде норм. Подвоха явного не вижу, скрытого не нащупываю.
     
     
  • 3.51, Аноним (-), 16:43, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У тебя просто там уже всё подвохами разработано, вот и не чувствуешь.
     
  • 3.93, Аноним (16), 21:21, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы про неё сказал RMS?
     
     
  • 4.139, Брат Анон (ok), 09:05, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтобы про неё сказал RMS?

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

     
  • 2.42, псевдонимус (?), 16:30, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы рабы улучшили. А потом купили свой труд.
     
  • 2.49, _kp (ok), 16:42, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Суть BSL..  в течение какого-то времени может применяться бесплатно (ТРИАЛ) только при соблюдении дополнительных условий(ДЕМОВЕРСИЯ), для обхода которых требуется (КРЯК)
     

  • 1.25, Аноним (25), 16:00, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    По скорости еще не C, по удобству и безопасности уже не Python.

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

     
     
  • 2.105, Аноним (-), 22:38, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >а потом нестыдно добавлять в смузи всё что натекло-накапало при этом.

    Блеединг эдж - кровавый конец.

     

  • 1.26, Аноним (-), 16:01, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > поддерживается большая часть синтаксиса Python

    Ну то-есть переписывать все же придется. По-моему они такие не первые уже?

     
     
  • 2.29, Аноним (29), 16:07, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Поддерживается print('Hello world'). Заявленная скорость почти такая же, как и у int main() { prinf('Hello world'); }
     
     
  • 3.178, Аноним (175), 19:20, 30/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Решено! Сажусь писать хелловорлд.
     

  • 1.37, Анони (?), 16:15, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Осталось еще PCI-E 5.0 16x ASIC для аппаратного выполнения JS запилить
     
     
  • 2.50, Аноним (-), 16:42, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И он будет стопориться на 64 битах.
     
     
  • 3.80, Анони (?), 19:45, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    JS RTX будет с 768-битной шиной специально для вещественных типов Number и чтобы вместить значение Infinity.
     

  • 1.39, псевдонимус (?), 16:25, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    До чего лицемерная лицензия:вы тут потестите,  поулучшайте, а мы когда нам надо ограничим. Завоняло макакойдб и прочим подобным.
     
  • 1.53, Аноним (-), 17:06, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Codon построен с использованием модульной архитектуры, позволяющей наращивать функциональность через плагины, при помощи которых можно добавлять новые библиотеки, реализовывать оптимизации в компиляторе и даже обеспечивать поддержку дополнительного синтаксиса.

    На что только люди не пойдут, лишь бы не улучшать компилятор Python из SBCL и CMUCL.

     
  • 1.56, Аноним (56), 17:14, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я как-то компилил Hello World Python/GTK4 через nuitka. В итоге получил каталог с бинарником и сотней библиотек где-то под 60 мб. Количество занимаемой ОЗУ во время отображения пустого MainWindow идентичное тому что просто тупо запускать на python, скорость запуска идентичная. Вопрос. Нафига козе боян?
     
     
  • 2.59, Аноним (-), 17:34, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    а мог бы дёрнуть ecl
     
  • 2.74, Аноним (-), 19:24, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато прикинь, гошник с своими 6-меговыми хелловорлдами таким дилетантом смотриться по сравнению с твоим энтерпрайзным хелловорлдом :)
     
     
  • 3.95, Аноним (95), 21:30, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зато прикинь, гошник с своими 6-меговыми хелловорлдами таким дилетантом смотриться по сравнению
    > с твоим энтерпрайзным хелловорлдом :)

    Какая восхитительная смесь глупости и ламеризма, преподнесенные с умным и уверенным видом. 294, ты вернулся?


     
  • 3.134, Аноним (56), 04:57, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Биндинги к Go для GTK они очень такие как сказать очень в разработке сильно повязшие. Там для железобетонного "готово" для применения еще долго.

    https://github.com/gotk3/gotk3

    https://github.com/mattn/go-gtk

    https://github.com/diamondburned/gotk4

     
  • 3.138, Проходил мимо (?), 08:06, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Давайте обратимся к фактам go version go version go1 18 3 linux amd64 cat h... большой текст свёрнут, показать
     
     
  • 4.170, Аноним (-), 20:53, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Давайте обратимся к фактам:

    Блин, говорю же - кто-то из гошников стопудово себя дилетантом ощутит после такого энтерпрайза.

     
  • 2.77, Skullnet (ok), 19:38, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Qt уже легковестнее GTK.
     
     
  • 3.135, Аноним (56), 04:59, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Qt5/6 и GTK3 примерно на идентичном уровне. GTK4 монстр, пожирающий аппаратные ресурсы на каждый чих пых. Зато libadwaita и CSS кнопочки рамочки иконочки. Меня как приверженца создания легковесных GUI утилит для линукса от gtk4 корёжит.
     
  • 3.162, Бывалый смузихлёб (?), 08:02, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В дальнейшем из кутей ещё больше выкинут и сделают исключительно платным - так базовая версия ещё легковесней станет )
     
  • 2.115, Аноним (117), 23:57, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну-да, ну-да, давайте опять оценивать на хелловорлдах полезность программерских тулзов.
     

  • 1.60, saahriktu (ok), 17:39, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Неплохо, но лучше по возможности сразу писать на Паскале.
     
     
  • 2.106, Аноним (-), 22:40, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас как раз снег выпал, можно красиво пописать на Паскале прямо в снег и любоваться узорами.
     
  • 2.152, Аноним (16), 21:06, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Со следующего года удобнее лучше кодить сразу на Modula-2 (Спойлер: будет изкоробки).
     
     
  • 3.165, saahriktu (ok), 15:39, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    fpc в репозиториях уже давно есть.

     
     
  • 4.166, Аноним (16), 17:51, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Имеется GCC >=13, имеется и Modula-2.
     

  • 1.63, Аноним (63), 18:23, 27/12/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     

     ....ответы скрыты модератором (4)

  • 1.64, Аноним (64), 18:30, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пока статическую типизацию нормально не притянут в язык - ничего хорошего не выйдет всё равно.

    IMHO, пока лучший компилятор для питониста - GoLang. Как минимум, повторяет массу странностей и перепозать будет не так больно, как с C или Паскаля.

     
     
  • 2.76, Skullnet (ok), 19:37, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > IMHO, пока лучший компилятор для питониста - GoLang.

    Оба гавно, потому что ни в том ни в другом нету type safety (в питоне есть, но на половину), а в Go вообще нужно писать "if err != nil" в каждой строчке.

     
     
  • 3.91, Аноним (-), 20:47, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да это потому что на практике питона на игогоху заменяют в вебе. Не то чтобы он какой-то офигенный, но микросервисы лаконичные, проблему с тормозами решили предкомпиляцией, а чего еще хвостатым надо?

    И наполовину - это как? Немножечко беременна? Типичный питон вообще нихрена не проверяет и просто валится с трехстраничным трейсом где-то в рантайме, и потом удачи это воспроизвести вообще.

     
     
  • 4.141, Мононим (?), 09:18, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось только узнать, где вы в вебе вообще нашли питона с игогохой...
    Они там присутствуют, конечно, но на уровне статистической погрешности.
     
     
  • 5.157, Аноним (-), 23:44, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Осталось только узнать, где вы в вебе вообще нашли питона с игогохой...

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

    > Они там присутствуют, конечно, но на уровне статистической погрешности.

    Ну это смотря что и с чем сравнивать. Если какие-нибудь заглушки на доменах паркинга, там наверное статика победит с жутким отрывом, конечно.

     
  • 3.123, Анони (?), 02:00, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > в Go вообще нужно писать "if err != nil"

    можешь не писать, но плохие ребята просто заворачивают в трай кетч и играют в мем всё хорошо, всё хорошо...

     
     
  • 4.163, Аноним (163), 10:22, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В golang нет try/catch
     
  • 2.87, BrainFucker (ok), 20:28, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пока статическую типизацию нормально не притянут в язык - ничего хорошего не выйдет всё равно.

    В Cython есть.

     
  • 2.96, Аноним (96), 21:37, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это смотря в какой области

    Лучший компилятор для питониста, связанного с "наукой" и модным сейчас AI  - Julia. Этот язык изначально позиционировался как для "научных расчетов", но на самом деле сейчас его уже начинают позиционировать и как "для Бизнеса" тоже. Пока не хватает библиотек, но дело наживное.

     
     
  • 3.153, Аноним (16), 21:11, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то куда не глянь, всюду "Говорим AI - подразумеваем Python".
     
     
  • 4.158, Аноним (96), 23:49, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пока да Но это - инерция Потому что Python - это не AI Python - это над AI ... большой текст свёрнут, показать
     

  • 1.66, Skullnet (ok), 18:57, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Название крайне неудачное. Как будто не хватает буквы m в конце, а n не в том месте.
     
  • 1.79, Аноним (79), 19:42, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Казалось бы, уже и денег свободных нет. А нет же, находятся какие-то инвесторы, готовые вкладываться в стартапы на питоне..... Куда катится мир?.....
     
  • 1.86, Аноним (86), 20:10, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Codon как оказывается и частичную JIT компиляцию поддерживает. Проект появился из биоинформатики.

    https://exaloop.io/benchmarks.html

     
     
  • 2.88, Аноним (-), 20:34, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Биоинформатики сейчас активно переходят на Джулию. Зачем им проект траскомпиляции питона на C?
     
     
  • 3.97, Аноним (96), 21:44, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тем более, что в научных расчетах в общем-то и не питон работает, а библиотеки на С и Fortran. А питон - обвязка сверху них. Юлька - язык прикольный, но пока имеющий достаточно много проблем и мало библиотек, отсутствие нормальной компиляции в отдельный исполняемый файл, жор памяти как не в себя и другие детские болезни роста.

    Современный Fortran - ООП язык, со строгой типизацией, динамическим выделением памяти, распараллеливанием из коробки,  указателями, кучей библиотек и т.д. тоже очень и очень не плох.

     
     
  • 4.99, Аноним (12), 21:57, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Круче MKL ничего не придумали, во всяком случае, из доступного обывателю. На язык в принципе пофиг, главное это доступность либ с обёртками и тут питон топ.
     
     
  • 5.110, Аноним (96), 23:00, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в общем-то да. Хотя Fortran IV и Fortran 77 были просто тихий ужас. Но даже на них умные люди смогли сделать много хорошего, не только MKL, а много чего в том числе и расчеты симуляций ядерных взрывов. Но по сравнению с Джулькой, Питоном и R,  Fortran из коробки не хватает средств визуализации - это толстый минус.
     
  • 4.100, Аноним (-), 21:57, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо навешивать вечные ярлыки На дворе уже не 2016-й, а почти 2023 Если обо... большой текст свёрнут, показать
     
     
  • 5.108, Аноним (-), 22:43, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >На дворе уже не 2016-й, а почти 2023.

    Верните мне мой 2021.

     
     
  • 6.111, Аноним (79), 23:01, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Julia в 21-м уже тоже была весьма неплохим языком.
     

  • 1.89, Аноним (89), 20:36, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просто взять С++ не пробовали?
     
     
  • 2.102, ИмяХ (?), 22:22, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Просто

    Это сложно

     

  • 1.103, Аноним (103), 22:32, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чем это лучше cython?
     
  • 1.118, Alladin (?), 00:51, 28/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Чистый машинный код не привязанный к исполнительной среде python? а сборщики мусора, а динамический тип переменной и подобное что? куда? остается! вот тебе и среда понадобилась...
     
     
  • 2.120, Аноним (120), 01:31, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Привязанный к их исполняемой среде с их лицензией.
     
     
  • 3.121, Аноним (120), 01:32, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну то есть любая скомпилированная им программа - производная работа.
     
  • 2.126, Аноним (12), 02:49, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну жаву же graalvm как-то компилирует в нативный бинарь без гц. Динамические переменные принимают вполне статическое чисто типов, которые можно обработать. Кроме того, тут говорят у них свой гц. Ограничения конечно могут быть, как и в случае с жавой, но на довольно специфические хотелки.
     

  • 1.119, Rodegast (ok), 01:16, 28/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GIL работает?
     
  • 1.142, zeecape (ok), 09:35, 28/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещё один компилятор. Ещё один забытый проект, который никому будет не нужен.
     
  • 1.147, Простоник (ok), 14:35, 28/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличный проект. Жаль юникод не предусмотрен. Зато можно вернуться к кодированию строк в ASCII.
     
  • 1.154, Аноним (16), 21:15, 28/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вангую, если прогеры для текстильной промышленности выкатят свой компилятор, то он будет называться Cotton.
     
     
  • 2.168, Xdsff (?), 20:33, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и целюлозобумажники с картоном
     

  • 1.186, AvengerAnubis (?), 17:10, 13/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто, теперь на пайтоне можно писать и компилировать высокопроизводительные программы, которые по скорости не (сильно) уступают с++. Когда указатели, управление памятью и строгую типизацию завезут?
     

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



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

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