- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
# Пример #1
class FastClass:
def do_stuff(self):
temp = self.value # это ускорит цикл
for i in range(10000):
... # Выполняем тут некие операции с `temp`
# Пример #2
import random
def fast_function():
r = random.random
for i in range(10000):
print(r()) # здесь вызов `r()` быстрее, чем был бы вызов random.random()
Забавно, что в статье под названием «Разработка чрезвычайно быстрых программ на Python» (https://habr.com/ru/company/ruvds/blog/483678) этот самый «Python» оказался обосран (ненамеренно) куда качественнее, чем в недавно обсуждённом высере (https://govnokod.ru/26050#comment517858).
Неужели конпелятор/интерпретатор «Питона» настолько туп, что не может самостоятельно провести вот эти вот микрооптимизации?
gost 16.01.2020 13:24 # 0
Steve_Brown 16.01.2020 13:43 # +1
Desktop 16.01.2020 13:56 # +1
И, даже если и обосран, то не сам Питон, а его существующие интерпретаторы. С другой стороны, если интерпретатор будет ещё делать всякие lookahead'ы и дофига оптимизаций, то не просрёт ли он столько же, сколько найдёт? Всё же у него принцип работы ad hoc, да и питонячье "явное лучше неявного" никто не отменял.
Актуально сравнить с творением сумрачного японского гения, конечно.
3.14159265 16.01.2020 15:44 # +6
Они просто сделали говно на котором писать нельзя.
И в этом и заключается фокус.
Но далее говнопитух нам экспортирует сишные api на которых мы уже и пытаемся что-то сваять.
Очевидно, что сваять ничего нельзя - поэтому отовсюду торчат сишные вызовы.
Они вроде пытались запилить llvm как базу для скриптухи и прочего говна, но не фортануло.
А поскольку всё жутко тупило эти отбросы начали использовать ворованную инфраструктуру.
3oJIoTou_xyu 16.01.2020 15:48 # 0
3.14159265 20.01.2020 18:33 # 0
gostinho 20.01.2020 19:25 # 0
HoBorogHuu_nemyx 16.01.2020 14:00 # 0
bormand 16.01.2020 14:14 # +3
HoBorogHuu_nemyx 16.01.2020 14:27 # 0
Кстати, видел оптимизатор байткода в расширении «xcache», кэширующем опкоды «PHP». Правда, оптимизатором его можно назвать с натяжкой. Он оптимизирует только совсем уж очевидную питушню.
Koko 16.01.2020 15:11 # 0
Koko 16.01.2020 15:26 # +5
https://ideone.com/STWL1h
Именно поэтому я за "Python3".
HoBorogHuu_nemyx 16.01.2020 15:33 # 0
2*3 догадался посчитать, а дальше всё оставил.
3.14159265 16.01.2020 15:37 # +4
Царская сишка опять слила анскильных скриптухов в хламину.
А питух-недоязычок может только так.
Очевидно, тут мы замечаем то, что дизайн этого говна бездарного - типичная скриптуха.
Потому обезьяны начнут прикручивать к этому говну jit и прочее.
Но, очевидно, что в нормальном языке вычислений константных выражений быть должна.
Fike 16.01.2020 20:17 # 0
умеет там констант фолдинг и вот это всё (хотя в питоне хуй знает, умеет ли)
3.14159265 16.01.2020 15:30 # +3
Последний вроде как JIT-компилятор.
Koko 16.01.2020 15:47 # 0
Мёртове говно.
3.14159265 16.01.2020 16:03 # +2
3.14159265 25.02.2020 02:54 # 0
guest8 25.02.2020 03:26 # −999
3.14159265 25.02.2020 13:56 # 0
>а джутон выпускает, но он нахуй не нужен, пушо 2.7 никому не нужен
Так питух никому не нужен. Обычная нетипизированная скриптуха, коих тысячи.
Сейчас практически любой компилируемый язык похож на скриптуху: кругом varы, везде автовывод типов.
Хочешь выводишь слева-направо, хочешь справа-налево. Типы явно не пишешь, а они есть.
Выразительность та же, но благодаря компиляции скорость на порядок выше, а ошибок на порядок меньше.
Даже последних итерациях крестов идиоматичный код всё более становится похож на скриптушачий.
Если бы не их упоротые значки, разницу почти не заметно.
HoBorogHuu_nemyx 25.02.2020 14:29 # 0
3.14159265 25.02.2020 15:20 # +1
Об использовании питуха в роли питулятора на ГК сообщал ещё bugmenot.
>когда на скорую руку нужно что-то посчитать.
js web console. Всегда под рукой.
>из коробки большие числа
ghci
Я кстати наконец-то обнаружил практическое применение хацкелю. Калькулятор.
bormand 25.02.2020 15:56 # 0
3.14159265 25.02.2020 16:17 # 0
Зачем? Зачем?
Какие-то подводные камни?
guest8 25.02.2020 14:55 # −999
bormand 25.02.2020 15:21 # +3
Я бы на их месте навсегда оставил python ссылкой на python2. Ну или заглушкой, которая говорит что питон 2 отошёл на тот свет и пора обновлять скрипты. Или вообще ёбнул бы.
Ибо рандомные баги от запуска древних скриптов через движок третьего питона - это не особо весело.
HoBorogHuu_nemyx 25.02.2020 15:43 # +2
bormand 25.02.2020 15:54 # +1
HoBorogHuu_nemyx 25.02.2020 16:53 # +1
HoBorogHuu_nemyx 25.02.2020 16:58 # 0
HoBorogHuu_nemyx 25.02.2020 17:02 # +1
https://ideone.com/dSEfIW
https://ideone.com/35wEwC
https://ideone.com/eJpuID
https://ideone.com/9p9o5S
guest8 25.02.2020 17:02 # −999
HoBorogHuu_nemyx 25.02.2020 17:07 # 0
https://ideone.com/w0GuWA
https://ideone.com/EqQc3Z
gostinho 25.02.2020 17:09 # 0
[/color]
HoBorogHuu_nemyx 25.02.2020 17:17 # 0
gostinho 25.02.2020 17:18 # 0
HoBorogHuu_nemyx 25.02.2020 17:21 # 0
gostinho 25.02.2020 17:22 # 0
Stallman 25.02.2020 17:24 # 0
gostinho 25.02.2020 17:27 # 0
HoBorogHuu_nemyx 25.02.2020 17:31 # 0
guest8 25.02.2020 17:30 # −999
gostinho 25.02.2020 17:31 # 0
guest8 25.02.2020 17:34 # −999
3.14159265 25.02.2020 19:27 # 0
Да, блядь.
А потом программа сука крашится нахуй в самый важный момент и херит все данные.
Отправьте отчёт Мокрософт. Зачем? Зачем?
guest8 25.02.2020 19:29 # −999
3.14159265 25.02.2020 20:25 # 0
Кому надо — пойдёт и почитает.
guest8 25.02.2020 20:27 # −999
3.14159265 25.02.2020 20:52 # 0
А его как-то можно читать кроме как через гуй Администрирование?
journalctl можно грепнуть, там есть фильтры.
>только толку без дампа не много
Толк есть, там достаточно инфы. Трейс есть. Что ещё надо?
guest8 25.02.2020 21:01 # −999
1024-- 25.02.2020 20:03 # 0
Питушня какая-то. Неправильный мир. Всё должно было быть наоборот.
В 90е программа обновлялась, когда пользователь, грубо говоря, приходил к другу с жёстким диском. В 20е программа обновляется, когда программист в туалете вместо нажал вместо кнопки "лайкнуть котика" на кнопку "обновить программу у всех моих пользователей".
В 90е софтинка оставалась один на один с пользователем на долгие месяцы и годы, в 20е она может обновиться до нескольких раз в день.
В 90е годы было критично, чтобы остатки программы работали, если это возможно, крашиться и накалять пользователя нельзя было. Что программисту "о, забавный баг, щас исправлю", было пользователю "я с этим говном уже два года живу". Нужны были надёжные программы, которые старались не падать.
В 20е годы можно всё быстренько исправить. Падучая программа вполне уместна, пока программист жив.
3.14159265 25.02.2020 20:23 # 0
Когда ошибка ловится на стадии компиляции — пожалуйста.
Но если это стадия работы приложения и тривиальная ошибка приводит к крашу всей программы — ну его нахуй.
Мне меньше всего хочется из-за этого получить краш приложения из-за какой-то хуйни.
gost 25.02.2020 17:39 # +2
https://ideone.com/kAdiIe
https://ideone.com/WHJyoU
HoBorogHuu_nemyx 25.02.2020 18:23 # +1
https://ideone.com/qOVkA3
https://ideone.com/lZ1wku
gost 25.02.2020 18:31 # +1
https://ideone.com/s1C7f5
https://ideone.com/aCReDB
HoBorogHuu_nemyx 25.02.2020 18:44 # +2
Какой костыль )))
bormand 25.02.2020 20:22 # +1
HoBorogHuu_nemyx 26.02.2020 12:08 # +1
HoBorogHuu_nemyx 26.02.2020 12:04 # 0
Интересно. Двойка выдаёт вес брутто: размер реального массива в байтах плюс размер служебного заголовка с описанием? А тройка создаёт не массив, а генератор, поэтому выдаёт так мало?
gost 26.02.2020 12:06 # 0
gostinho 25.02.2020 17:05 # +2
bormand 25.02.2020 20:30 # +4
HoBorogHuu_nemyx 25.02.2020 21:20 # 0
guest8 25.02.2020 21:24 # −999
gost 26.02.2020 00:41 # +2
Бля, долго не мог понять, почему py_ver будет равен пяти и зачем там этот комментарий.
Какой багор )))
HoBorogHuu_nemyx 26.02.2020 00:46 # +1
gost 26.02.2020 00:48 # +2
Кстати, в «JavaScript» подвезли целочисленное деление:
HoBorogHuu_nemyx 26.02.2020 00:52 # +1
guest8 26.02.2020 00:50 # −999
HoBorogHuu_nemyx 26.02.2020 00:57 # 0
Давайте придумаем ЯП, в котором ещё поддерживаются { } и (* *), как в «Паскале», два минуса, как в языке Ада, буква «C», как в «Фортране», апостроф, как в «Бейсике», и точка с запятой, как в «Ассемблере».
guest8 26.02.2020 00:58 # −999
HoBorogHuu_nemyx 26.02.2020 01:06 # 0
1024-- 26.02.2020 08:42 # 0
1024-- 25.02.2020 20:04 # 0
Ха-ха. Интересно, в каком году это утверждение станет истинным?
nblXOMAKAKA 29.02.2020 05:58 # 0
pip will continue to ensure that it runs on Python 2.7 after the CPython 2.7 EOL date. Support for Python 2.7 will be dropped, if bugs in Python 2.7 itself make this necessary (which is unlikely) or Python 2 usage reduces to a level where pip maintainers feel it is OK to drop support. The same approach is used to determine when to drop support for other Python versions.
However, bugs reported with pip which only occur on Python 2.7 would likely not be addressed directly by pip’s maintainers. Pull Requests to fix Python 2.7 only bugs will be considered, and merged (subject to normal review processes). Note that there may be delays due to the lack of developer resources for reviewing such pull requests.
https://pip.pypa.io/en/latest/development/release-process/#python-2-support
1024-- 29.02.2020 09:31 # +1
Полезный работающий софт на "python" никто не будет переписывать на "python++".
ropuJIJIa 02.03.2020 01:12 # 0
guest8 02.03.2020 01:15 # −999
Desktop 02.03.2020 01:21 # +1
guest8 02.03.2020 01:25 # −999
Desktop 02.03.2020 01:29 # +1
– Перегреем очередной рынок дешёвыми кредитами, чтобы ёбнуло, тогда никто не заметит этот ваш кобол
ropuJIJIa 02.03.2020 01:26 # +1
https://youtu.be/fB2b-lTjCQA
gostinho 02.03.2020 12:38 # 0
HoBorogHuu_nemyx 16.01.2020 16:22 # +3
1024-- 16.01.2020 19:34 # 0
> жит не сделает из дженериков что-то уровня крестовых шаблонов
Хвала богам.
В современном мире шаблоны нужно строить в философии жита. Один раз пишется и компилируется код шаблона. Программист не возится с компиляцией чьего-то шаблонного дерьма и ошибках в замшелом коде, который используется его текущим проектом. Программист не беспокоится о переносе кода в заголовочный файл, когда обычный код стал шаблонным. Компилятор не генерит тонны говна, растущие экспоненциально. Программа способна работать даже когда кто-то подлинковал питуха на лету.
И только когда это действительно нужно, жит инлайнит питухов для какого-то отдельного случая. Шаблон заменяется ФВП, инстанцирование на этапе компиляции заменяется инлайном на этапе компиляции или на этапе жидования.
Fike 16.01.2020 20:18 # 0
ПРИШЛО ВРЕМЯ КАСТОВАТЬ В OBJECT
bormand 16.01.2020 16:14 # +4
А имеет ли право? Скриптушня же, const'ов нет, статической типизации нет. Откуда мы знаем, что print не поменял random.random на что-то другое?
HoBorogHuu_nemyx 16.01.2020 17:00 # +3
3.14159265 16.01.2020 17:03 # +3
И возможность всем сообщить "дак я же как сишка".
Чего рядовой скриптух сделать не может. Хотя они и пытались.
Они понимают, что скриптуха - говно.
Они понимают, что они домохозяйки.
На этом фоне и развиваются все эти комплексы.
Они желают доказать всему миру, что вот они не говно.
phpBidlokoder2 16.01.2020 19:30 # 0
3.14159265 16.01.2020 19:55 # +3
Клоун - ты не сможешь уйти от типизации.
Ты просто можешь делать вид что типов не существует, до тех пор пока твоя анскильная программа не развалится.
Потому что ты вторичен по отношению к основам.
Это проблема всех идиотов.
Это как С++ возьмёт и скажет «я уйду от си», хотя С++ в контексте именно своей семантики первичен.
Koko 16.01.2020 17:31 # +3
bormand 16.01.2020 18:20 # +3
Т.е. считаем, что random.random не меняется после инициализации модуля random. А если таки поменяется - идём деоптимизировать и чистить кеши вилкой.
3.14159265 16.01.2020 18:37 # +3
Как бы скриптухи не тужились v8 остаётся тормозным анскильным говном.
Которое сишка/кресты каждый раз сливает в хламину.
Именно поэтому они пытались эмулировать сишку в виде asm.js
Тормозные, глючные gc-отбросы смеялись над Царём, говорившим обезьянам что массив — единственно полезная структура.
Основа asm.js это ArrayBuffer — гигантский массив, который хранит все структуры данных написанные отбросами.
Проблема в том, что путём воровства это бездарное говно обманывает рядовую публику.
bormand 16.01.2020 19:02 # +4
Konardyan 16.01.2020 20:23 # −3
Гавно ты.
hormand 16.01.2020 20:24 # 0
3.14159265 16.01.2020 20:29 # +1
Палишься же. Слишком быстро сам себе ответил. Всего через минуту. Впрочем что с багра взять.
hormand 16.01.2020 20:31 # 0
Мне странно, что файка до сих пор не в блэклистс.
Fike 16.01.2020 20:20 # 0
ну, точнее, С2 из хотспота (и наверняка конпель из грааля)
3.14159265 16.01.2020 18:24 # +4
js-макаки худо-бедно пытались его компилировать. И у отбросов даже что-то получалось.
Проблема в том, что каждый сектант с очередным недоязычком прибегает и рассказывает о том как же сишка/кресты ненужны и как он всех подебил.
Но поскольку это скриптуха, то сишка раз разом изваляла в говне все сектантские потуги.
И тогда они начали воровать царские идеи, над которыми раньше глупые питухи только посмеивались.
Сначала родили asm.js. Потом wasm.
asm.js — попытка скриптухов сделать из обезьянего недоязычка божественную сишку.
https://govnokod.ru/26263#comment516758
Украл - начни всем врать, что ты что-то сделал.
Но проблема не в этом.
Я считаю, что этот биомусор пробил очередное дно. Никак иначе.
Wasm - это компромисс, который сломает вендорлок на одной из крупных платформ.
Так же он позволит получить безопасную vm без привязке к мусорной скриптухе, её нелепого байткода и рантайма.
Никаких аналогов ему нет.
Сам по себе он говно, но это базовое свойство этой реальности.
Возможно в будущем нас ждёт ещё одна итерация.
hormand 16.01.2020 20:32 # 0
guest8 25.02.2020 21:12 # −999
3.14159265 25.02.2020 21:17 # +3
Из-за технологической безработицы они не могут найти себе работу.
>Каждое следующее поколение горе-программистов заново изобретает колесо, яростно отвергая колеса прошлых поколений.
Потому отбросы чтобы занять себя хоть чем-то и выдумывают всякие Русские Слоны и прочие «прожекты».
Они не просто едят говно, а «создают два рабочих места и поднимают ВВП на 200 долларов».
Мы с gost не так давно это обсуждали. Что IT-сфера сейчас не источник сколь-нибудь значимой добавленной стоимости.
Большей частью это бесцельное перекладывание кирпичиков и перетаскивание байтиков. А так же таскание круглого и катание квадратного.