![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Выпуск Nuitka 1.6, компилятора для языка Python" | +/– | ![]() |
Сообщение от opennews (??), 12-Июн-23, 12:20 | ||
Доступен выпуск проекта Nuitka 1.6, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 - 3.11. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
1. Сообщение от Аноним (1), 12-Июн-23, 12:20 | –2 +/– | ![]() |
На С делаем Python , потом libpython чтобы поддерживать представление на С , полученном с компилятором из Python , чтобы сделать совместимость с CPython - шизофазия . | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #4, #22, #47 |
2. Сообщение от Дмитрий (??), 12-Июн-23, 12:28 | –1 +/– | ![]() |
Зачем тогда писать на Python? Пишите уж сразу на Си, а то какой-то TypeScript для Си получился... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #3, #5, #11, #59, #86 |
3. Сообщение от Аноним (13), 12-Июн-23, 12:30 | –1 +/– | ![]() |
На си нет pytorch и остального. Может, ты напишешь? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #48 |
4. Сообщение от Неуклюжий танцор (?), 12-Июн-23, 12:34 | +3 +/– | ![]() |
На самом деле идея не плохая, хотя бы тем, что доказывает возможность применения автоматического управления жизнью объекта на языках низкого уровня, а вместе с этим таких плюшек как проверка доступа к несуществующему элементу массива, внятный дамп стека при падении и т.п. Хотя конкретно Нуитку использовал когда то у себя, но столкнулся с катастрофическим падением производительности, по сравнению с интерпретатором, и пришлось отказаться от неё, но это было давно и возможно уже не актуально. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 Ответы: #6, #17, #58 |
5. Сообщение от Аноним (6), 12-Июн-23, 13:08 | +2 +/– | ![]() |
Может ты сделаешь чтобы си работал как интерпретатор? В интерактивном режиме. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #10, #24, #41 |
6. Сообщение от Аноним (6), 12-Июн-23, 13:09 | +3 +/– | ![]() |
Всегда использовал нуитку как способ дистрибуции, а не ускорялку. Никаких супер пупер ускорений не замечал с нуиткой. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 Ответы: #13 |
8. Сообщение от Аноним (8), 12-Июн-23, 13:46 | –4 +/– | ![]() |
Кстати, если ограничить типы данных программы, например, использовать только int и float, то транспилятор Python -> С можно написать минут за десять и строк 100-200 кода python, если знать, что и как делать, и для написания boilerplate code использовать ChatGPT. (Необходимо воспользоваться модулем ast для парсинга кода python и ,например, использовать трансформеры из этого модуля.) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #9 |
9. Сообщение от Аноним (9), 12-Июн-23, 13:55 | +4 +/– | ![]() |
А если выкинуть list, dict, tuple, плюнуть полностью на ООП, еще пару таких мелких упрощений и можно вопросить - зачем нужен питон если есть С? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 Ответы: #12 |
10. Сообщение от Аноним (10), 12-Июн-23, 13:57 | –2 +/– | ![]() |
root | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 |
11. Сообщение от Аноним (11), 12-Июн-23, 13:58 | +7 +/– | ![]() |
Зачем вообще писать ни C, когда есть ассемблер. Какой-то TypeScript для ассемблера получился.. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #14, #39, #61 |
12. Сообщение от Аноним (8), 12-Июн-23, 14:13 | –1 +/– | ![]() |
>А если выкинуть list, dict, tuple ... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #28, #81 |
13. Сообщение от Аноним (13), 12-Июн-23, 14:17 | +/– | ![]() |
Она ощутимо замедляет. Интерпретатор у меня собран с пго и интересными флагами, в итоге в 2 раза быстрее исполняется на ряде задач (6 секунд вместо 12), а сабж мало того что гигабайты блобов в память подгружает, так и исполняет код на скорости дефолтного -O2, если не медленнее. Время запуска каждый раз куда больше, опять же. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #6 |
14. Сообщение от Аноним (1), 12-Июн-23, 14:28 | +1 +/– | ![]() |
Когда-то я делал программы напрямую в машинных кодах в шестнадцатиричных числах. Приходилось высчитывать смещение каждый раз при изменении программы. В ассемблере это делать гораздо удобнее, компилятор высчитывает сам. Си - это невероятная роскошь, позволяющая делать что угодно. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 Ответы: #30 |
17. Сообщение от Аноним (17), 12-Июн-23, 14:39 | +/– | ![]() |
> возможность применения автоматического управления жизнью объекта на языках низкого уровня | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 |
22. Сообщение от Аноним (22), 12-Июн-23, 15:35 | –1 +/– | ![]() |
Вполне себе такая нормальная шизофрения. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 |
24. Сообщение от Аноним (24), 12-Июн-23, 15:58 | –3 +/– | ![]() |
может сразу на Julia писать? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 |
25. Сообщение от Аноним (25), 12-Июн-23, 16:06 | +/– | ![]() |
А ты уже написал транслятор со своего языка в Си? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #45 |
28. Сообщение от Аноним (28), 12-Июн-23, 16:28 | +/– | ![]() |
Pyston'утый? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 |
30.
Сообщение от Аноним![]() | +1 +/– | ![]() |
А как дальше должна была идти эта эволюция? Очень интересно. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #14 Ответы: #37, #53 |
37. Сообщение от Аноним (1), 12-Июн-23, 18:35 | +/– | ![]() |
Что-то ближе к естественному языку. Например: | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #30 Ответы: #42, #67, #79 |
39. Сообщение от Аноним (39), 12-Июн-23, 18:51 | +/– | ![]() |
> Писать что Си надо уметь, а на Питоне любая обезьяна уже через неделю может писать. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 Ответы: #54, #71 |
41. Сообщение от OpenEcho (?), 12-Июн-23, 19:03 | +4 +/– | ![]() |
> Может ты сделаешь чтобы си работал как интерпретатор? В интерактивном режиме. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 Ответы: #60 |
42. Сообщение от Аноним (42), 12-Июн-23, 19:26 | –1 +/– | ![]() |
Вот для этого ChatGPT и сделали. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 Ответы: #55 |
45. Сообщение от Mail (?), 12-Июн-23, 20:03 | –4 +/– | ![]() |
Моя гошка и так хороша для моих целей. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #25 Ответы: #46, #50, #51, #75 |
46. Сообщение от Аноним (46), 12-Июн-23, 20:28 | +1 +/– | ![]() |
Go такой же язык мамонта, только выплюнутый в мир попозже | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #45 |
47. Сообщение от anonymous (??), 12-Июн-23, 20:55 | +2 +/– | ![]() |
libpython нужен не для этого. Такое впечатление, что ты вообще не представляешь, о чём говоришь. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 |
48. Сообщение от GraiT (?), 12-Июн-23, 21:27 | +2 +/– | ![]() |
Вообще-то pytorch на C++ написан, а python биндинг... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 Ответы: #49 |
49. Сообщение от Аноним (13), 12-Июн-23, 21:42 | +1 +/– | ![]() |
Вообще тип того, да. Но это обрекать себя на лишнюю боль непонятно ради чего. А если мне надо spacy/thinc? Поверх tensorflow оно не очень работало тоже, когда я в прошлый раз интересовался, нужен torch. Я, кстати, не слышал, чтобы торч кто-нибудь использовал без питона, там всё больше тензорфлоу. Но это не замена, слишком разные. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #48 |
50. Сообщение от Аноним (50), 12-Июн-23, 21:54 | –1 +/– | ![]() |
дубовость на месте или скоро подвезут всяких скобочек? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #45 |
51. Сообщение от Tron is Whistling (?), 12-Июн-23, 22:48 | +1 +/– | ![]() |
- гошка | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #45 |
53. Сообщение от BeLord (ok), 13-Июн-23, 09:16 | –1 +/– | ![]() |
К решению задач,а не миллионный раз переписывать одно и тоже с нулевым кпд. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #30 Ответы: #56 |
54. Сообщение от BeLord (ok), 13-Июн-23, 09:21 | +/– | ![]() |
Ну смотри, есть софт на С, написан в 2010, в реалтайме с 2014, память на месте, ничего не утекло. Интересно почему так, может потому, что проверки везде стоят, а код не на "отвали" написан?-)) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #39 Ответы: #57, #65 |
55. Сообщение от n00by (ok), 13-Июн-23, 09:39 | +2 +/– | ![]() |
А Дельфи для чего сделали? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #42 |
56. Сообщение от n00by (ok), 13-Июн-23, 09:45 | –1 +/– | ![]() |
Селекция почему-то до сих пор не объявлена лженаукой (если не считать ГМО). При том что окружающая среда за тысячи лет изменилась не столь сильно, как устройства для исполнения кода. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #53 Ответы: #69 |
57. Сообщение от Прохожий (??), 13-Июн-23, 09:45 | +/– | ![]() |
Сколько стоит такой код по сравнению с питонячим? Так отож. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #54 Ответы: #64, #70 |
58. Сообщение от n00by (ok), 13-Июн-23, 09:46 | +/– | ![]() |
> доказывает возможность применения | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 |
59. Сообщение от Аноним (59), 13-Июн-23, 09:56 | –1 +/– | ![]() |
На C нет классов. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #68, #73, #80 |
60. Сообщение от Аноним (-), 13-Июн-23, 11:00 | –3 +/– | ![]() |
А теперь сделай так, чтобы: | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #41 Ответы: #66, #76 |
61. Сообщение от Аноним (-), 13-Июн-23, 11:03 | +/– | ![]() |
Есть SBCL, в котором именно асмовставки, но утята не любят скобочки. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 |
64. Сообщение от BeLord (ok), 13-Июн-23, 13:30 | +1 +/– | ![]() |
> Сколько стоит такой код по сравнению с питонячим? Так отож. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #57 |
65. Сообщение от User (??), 13-Июн-23, 15:00 | +2 +/– | ![]() |
... ну или по тому, что не тестил никто - работает себе конечный автомат на детерминированном наборе данных и работает - ничего интересного, а стоит два ведра рандома на вход отгрузить - и "ой, штайта?!" 100% покрытие проверками чего-нибудь отличного от хеллоуворлда обычно только на opennet'е и существует - где-то по соседству с "настоящими c-шниками"(ТМ) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #54 |
66. Сообщение от n00by (ok), 13-Июн-23, 15:29 | +/– | ![]() |
> 2. во время работы программы можно было бы заменять функции. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #60 |
67. Сообщение от rshadow (ok), 13-Июн-23, 17:16 | –2 +/– | ![]() |
perl? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 |
68. Сообщение от Аноним (68), 13-Июн-23, 19:23 | +/– | ![]() |
Вот дорогой аноним, ошибся ты - ООП это парадигма программирования, писать с классами можно и на С, и весьма успешно, просто первый параметр всегда должен быть ссылкой на структуру. На С нет RAII, что было реализовано уже в С++ с его создания. Впрочем RAII реализуется на С макросами - на гитхабе полно и примеров и библиотек. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #59 |
69. Сообщение от Аноним (69), 13-Июн-23, 20:08 | +1 +/– | ![]() |
Роль селекции в IT сейчас выполняет маркетинг и хайп, а не технические достоинства продукта. По сути это отрицательный отбор, который останавливает, а кое-где и разворачивает эволюцию. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #56 Ответы: #72 |
70. Сообщение от YetAnotherOnanym (ok), 13-Июн-23, 21:31 | +/– | ![]() |
"Питонокод - дешёвка". А чо, новое слово в питонорхейте. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #57 |
71. Сообщение от Аноним (24), 14-Июн-23, 04:45 | +1 +/– | ![]() |
> Писать что Си надо уметь, а на Питоне любая обезьяна уже через неделю может писать. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #39 Ответы: #77 |
72. Сообщение от n00by (ok), 14-Июн-23, 05:47 | +/– | ![]() |
Из этого следует, что переписывают "не в ту сторону". Но никак не "переписывать не стоит". Вот например различные оптимизации двоичного поиска https://gitflic.ru/project/erthink/bsearch-try | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #69 |
73. Сообщение от n00by (ok), 14-Июн-23, 05:57 | +/– | ![]() |
struct это class с открытыми членами. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #59 |
74. Сообщение от Пряник (?), 14-Июн-23, 09:28 | +/– | ![]() |
Ну опять про скорость... Лучше кросскомпиляция под разные системы со всеми зависимостями в одном бинарнике (как в Go). | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #82 |
75. Сообщение от Пряник (?), 14-Июн-23, 09:40 | +/– | ![]() |
Писать на Go не быстрее. Python просто завален синтаксическим сахаром. Превращает функцию в генератор одним yield, в одну строку преобразуем кучу списков в один с фильтрацией [list comprehensions], либо в функцию, поменяв лишь скобки на круглые (generator expressions), любую шляпу заворачиваем в декоратор и пихаем везде наглядной строкой @text, превращаем любую функцию в бесконечный поток данных функцией iter, 0b1111, 0o17, 15, 0xF, b'\xde\xad\xbe\xef'.hex() и вообще всё - объект первого порядка и можно пихать в любое место в коде. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #45 Ответы: #78 |
76. Сообщение от _kp (ok), 14-Июн-23, 11:15 | +1 +/– | ![]() |
Тогда берем gcc, и задача сводится к предыдущей. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #60 Ответы: #88 |
77. Сообщение от User (??), 14-Июн-23, 11:36 | +1 +/– | ![]() |
Ну, я предполагаю, что "имение" "знаний об алгоритмах", позволяющее реализовывать на C алгоритмы и структуры данных с эффективностью уровня "стандартной библиотеки python'а" занимает несколько большее время, нежели ознакомление с этой самой библиотекой - но это конечно же не точно, да? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #71 |
78. Сообщение от User (??), 14-Июн-23, 11:40 | +/– | ![]() |
А go'шникам написанное еще и саппортить приходится обычно, а за диабетиками - проще переписать, чем разобраться почему goody-beauty "однострочник на три строки" вывалил стектрейс при попытке запустить его где-то кроме когда-то собранного контейнера. Такое себе. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #75 Ответы: #91 |
79. Сообщение от _kp (ok), 14-Июн-23, 11:43 | +/– | ![]() |
да, да. Прочитать файл смогли, а разобрать нет. Как глянешь в питоновский код, так там сплошное преобразование двоичных данных в строки и противоестественное жонглирование ими. А если надо не среднее, а что то посложнее посчитать, то понеслось.. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 Ответы: #83 |
80. Сообщение от _kp (ok), 14-Июн-23, 11:46 | +/– | ![]() |
Ну пиши на С++. Какая разница. Более того в одном проекте можно мешать части на си и с++ как угодно и без лишних телодвижений. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #59 |
81. Сообщение от YetAnotherOnanym (ok), 14-Июн-23, 13:17 | +/– | ![]() |
Если "огромное community" само по себе аргумент, то "огромное community" питонохейтеров - очень весомый повод не кодить на питоне. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 Ответы: #89 |
82. Сообщение от iiiypuk (?), 14-Июн-23, 14:15 | –1 +/– | ![]() |
Crystal | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #74 |
83. Сообщение от User (??), 14-Июн-23, 16:16 | +1 +/– | ![]() |
Г-ди, спаси нас от автоматизаторов-на-эхеле, а уж с остальным мы как-нибудь сами... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #79 Ответы: #84 |
84. Сообщение от _kp (ok), 14-Июн-23, 16:25 | +/– | ![]() |
> Г-ди, спаси нас от автоматизаторов-на-эхеле | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #83 Ответы: #85 |
85. Сообщение от User (??), 14-Июн-23, 16:48 | +/– | ![]() |
>Смотря что автоматизировать. Если одноразово по быстрому посчитать/сгенерировать, то уметь это надо. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #84 |
86. Сообщение от randomize (?), 15-Июн-23, 14:41 | +/– | ![]() |
Значит, синтаксис питона в разы лучше, раз люди готовы так заморачиваться. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #87 |
87. Сообщение от randomize (?), 15-Июн-23, 14:46 | +/– | ![]() |
Точнее, писать на нем в целом удобнее, а не один лишь синтаксис. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #86 |
88.
Сообщение от Анониссимус![]() | +1 +/– | ![]() |
Настоящий geek-way. Два чая! | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #76 |
89. Сообщение от randomize (?), 16-Июн-23, 20:54 | +/– | ![]() |
Мне как-то высказал свое фи по поводу питона поддатый кодер на пхп. Как бы намекает... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #81 Ответы: #90 |
90. Сообщение от randomize (?), 16-Июн-23, 20:56 | +/– | ![]() |
На самом деле, я считаю, что можно нормально писать и на python, и на PHP, и на js. Достаточно вынуть руки из задницы... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #89 |
91. Сообщение от randomize (?), 17-Июн-23, 14:17 | +/– | ![]() |
Легко запускается то, что написал сам. А со сторонней прогой не всегда все очевидно. Даже собранный бинарь может дать сегфолт, и иди, разбирайся, что ему не нравится. Как по мне, стектрейс лучше - он хотя бы сразу выводит источник проблемы перед глазами. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #78 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |