- 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).
Неужели конпелятор/интерпретатор «Питона» настолько туп, что не может самостоятельно провести вот эти вот микрооптимизации?
И, даже если и обосран, то не сам Питон, а его существующие интерпретаторы. С другой стороны, если интерпретатор будет ещё делать всякие lookahead'ы и дофига оптимизаций, то не просрёт ли он столько же, сколько найдёт? Всё же у него принцип работы ad hoc, да и питонячье "явное лучше неявного" никто не отменял.
Актуально сравнить с творением сумрачного японского гения, конечно.
Они просто сделали говно на котором писать нельзя.
И в этом и заключается фокус.
Но далее говнопитух нам экспортирует сишные api на которых мы уже и пытаемся что-то сваять.
Очевидно, что сваять ничего нельзя - поэтому отовсюду торчат сишные вызовы.
Они вроде пытались запилить llvm как базу для скриптухи и прочего говна, но не фортануло.
А поскольку всё жутко тупило эти отбросы начали использовать ворованную инфраструктуру.
Кстати, видел оптимизатор байткода в расширении «xcache», кэширующем опкоды «PHP». Правда, оптимизатором его можно назвать с натяжкой. Он оптимизирует только совсем уж очевидную питушню.
https://ideone.com/STWL1h
Именно поэтому я за "Python3".
2*3 догадался посчитать, а дальше всё оставил.
Царская сишка опять слила анскильных скриптухов в хламину.
А питух-недоязычок может только так.
Очевидно, тут мы замечаем то, что дизайн этого говна бездарного - типичная скриптуха.
Потому обезьяны начнут прикручивать к этому говну jit и прочее.
Но, очевидно, что в нормальном языке вычислений константных выражений быть должна.
умеет там констант фолдинг и вот это всё (хотя в питоне хуй знает, умеет ли)
Последний вроде как JIT-компилятор.
Мёртове говно.
>а джутон выпускает, но он нахуй не нужен, пушо 2.7 никому не нужен
Так питух никому не нужен. Обычная нетипизированная скриптуха, коих тысячи.
Сейчас практически любой компилируемый язык похож на скриптуху: кругом varы, везде автовывод типов.
Хочешь выводишь слева-направо, хочешь справа-налево. Типы явно не пишешь, а они есть.
Выразительность та же, но благодаря компиляции скорость на порядок выше, а ошибок на порядок меньше.
Даже последних итерациях крестов идиоматичный код всё более становится похож на скриптушачий.
Если бы не их упоротые значки, разницу почти не заметно.
Об использовании питуха в роли питулятора на ГК сообщал ещё bugmenot.
>когда на скорую руку нужно что-то посчитать.
js web console. Всегда под рукой.
>из коробки большие числа
ghci
Я кстати наконец-то обнаружил практическое применение хацкелю. Калькулятор.
Зачем? Зачем?
Какие-то подводные камни?
Я бы на их месте навсегда оставил python ссылкой на python2. Ну или заглушкой, которая говорит что питон 2 отошёл на тот свет и пора обновлять скрипты. Или вообще ёбнул бы.
Ибо рандомные баги от запуска древних скриптов через движок третьего питона - это не особо весело.
https://ideone.com/dSEfIW
https://ideone.com/35wEwC
https://ideone.com/eJpuID
https://ideone.com/9p9o5S
https://ideone.com/w0GuWA
https://ideone.com/EqQc3Z
[/color]
Да, блядь.
А потом программа сука крашится нахуй в самый важный момент и херит все данные.
Отправьте отчёт Мокрософт. Зачем? Зачем?
Кому надо — пойдёт и почитает.
А его как-то можно читать кроме как через гуй Администрирование?
journalctl можно грепнуть, там есть фильтры.
>только толку без дампа не много
Толк есть, там достаточно инфы. Трейс есть. Что ещё надо?
Питушня какая-то. Неправильный мир. Всё должно было быть наоборот.
В 90е программа обновлялась, когда пользователь, грубо говоря, приходил к другу с жёстким диском. В 20е программа обновляется, когда программист в туалете вместо нажал вместо кнопки "лайкнуть котика" на кнопку "обновить программу у всех моих пользователей".
В 90е софтинка оставалась один на один с пользователем на долгие месяцы и годы, в 20е она может обновиться до нескольких раз в день.
В 90е годы было критично, чтобы остатки программы работали, если это возможно, крашиться и накалять пользователя нельзя было. Что программисту "о, забавный баг, щас исправлю", было пользователю "я с этим говном уже два года живу". Нужны были надёжные программы, которые старались не падать.
В 20е годы можно всё быстренько исправить. Падучая программа вполне уместна, пока программист жив.
Когда ошибка ловится на стадии компиляции — пожалуйста.
Но если это стадия работы приложения и тривиальная ошибка приводит к крашу всей программы — ну его нахуй.
Мне меньше всего хочется из-за этого получить краш приложения из-за какой-то хуйни.
https://ideone.com/kAdiIe
https://ideone.com/WHJyoU
https://ideone.com/qOVkA3
https://ideone.com/lZ1wku
https://ideone.com/s1C7f5
https://ideone.com/aCReDB
Какой костыль )))
Интересно. Двойка выдаёт вес брутто: размер реального массива в байтах плюс размер служебного заголовка с описанием? А тройка создаёт не массив, а генератор, поэтому выдаёт так мало?
Бля, долго не мог понять, почему py_ver будет равен пяти и зачем там этот комментарий.
Какой багор )))
Кстати, в «JavaScript» подвезли целочисленное деление:
Давайте придумаем ЯП, в котором ещё поддерживаются { } и (* *), как в «Паскале», два минуса, как в языке Ада, буква «C», как в «Фортране», апостроф, как в «Бейсике», и точка с запятой, как в «Ассемблере».
Ха-ха. Интересно, в каком году это утверждение станет истинным?
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
Полезный работающий софт на "python" никто не будет переписывать на "python++".
– Перегреем очередной рынок дешёвыми кредитами, чтобы ёбнуло, тогда никто не заметит этот ваш кобол
https://youtu.be/fB2b-lTjCQA
> жит не сделает из дженериков что-то уровня крестовых шаблонов
Хвала богам.
В современном мире шаблоны нужно строить в философии жита. Один раз пишется и компилируется код шаблона. Программист не возится с компиляцией чьего-то шаблонного дерьма и ошибках в замшелом коде, который используется его текущим проектом. Программист не беспокоится о переносе кода в заголовочный файл, когда обычный код стал шаблонным. Компилятор не генерит тонны говна, растущие экспоненциально. Программа способна работать даже когда кто-то подлинковал питуха на лету.
И только когда это действительно нужно, жит инлайнит питухов для какого-то отдельного случая. Шаблон заменяется ФВП, инстанцирование на этапе компиляции заменяется инлайном на этапе компиляции или на этапе жидования.
ПРИШЛО ВРЕМЯ КАСТОВАТЬ В OBJECT
А имеет ли право? Скриптушня же, const'ов нет, статической типизации нет. Откуда мы знаем, что print не поменял random.random на что-то другое?
И возможность всем сообщить "дак я же как сишка".
Чего рядовой скриптух сделать не может. Хотя они и пытались.
Они понимают, что скриптуха - говно.
Они понимают, что они домохозяйки.
На этом фоне и развиваются все эти комплексы.
Они желают доказать всему миру, что вот они не говно.
Клоун - ты не сможешь уйти от типизации.
Ты просто можешь делать вид что типов не существует, до тех пор пока твоя анскильная программа не развалится.
Потому что ты вторичен по отношению к основам.
Это проблема всех идиотов.
Это как С++ возьмёт и скажет «я уйду от си», хотя С++ в контексте именно своей семантики первичен.
Т.е. считаем, что random.random не меняется после инициализации модуля random. А если таки поменяется - идём деоптимизировать и чистить кеши вилкой.
Как бы скриптухи не тужились v8 остаётся тормозным анскильным говном.
Которое сишка/кресты каждый раз сливает в хламину.
Именно поэтому они пытались эмулировать сишку в виде asm.js
Тормозные, глючные gc-отбросы смеялись над Царём, говорившим обезьянам что массив — единственно полезная структура.
Основа asm.js это ArrayBuffer — гигантский массив, который хранит все структуры данных написанные отбросами.
Проблема в том, что путём воровства это бездарное говно обманывает рядовую публику.
Гавно ты.
Палишься же. Слишком быстро сам себе ответил. Всего через минуту. Впрочем что с багра взять.
Мне странно, что файка до сих пор не в блэклистс.
ну, точнее, С2 из хотспота (и наверняка конпель из грааля)
js-макаки худо-бедно пытались его компилировать. И у отбросов даже что-то получалось.
Проблема в том, что каждый сектант с очередным недоязычком прибегает и рассказывает о том как же сишка/кресты ненужны и как он всех подебил.
Но поскольку это скриптуха, то сишка раз разом изваляла в говне все сектантские потуги.
И тогда они начали воровать царские идеи, над которыми раньше глупые питухи только посмеивались.
Сначала родили asm.js. Потом wasm.
asm.js — попытка скриптухов сделать из обезьянего недоязычка божественную сишку.
https://govnokod.ru/26263#comment516758
Украл - начни всем врать, что ты что-то сделал.
Но проблема не в этом.
Я считаю, что этот биомусор пробил очередное дно. Никак иначе.
Wasm - это компромисс, который сломает вендорлок на одной из крупных платформ.
Так же он позволит получить безопасную vm без привязке к мусорной скриптухе, её нелепого байткода и рантайма.
Никаких аналогов ему нет.
Сам по себе он говно, но это базовое свойство этой реальности.
Возможно в будущем нас ждёт ещё одна итерация.
Из-за технологической безработицы они не могут найти себе работу.
>Каждое следующее поколение горе-программистов заново изобретает колесо, яростно отвергая колеса прошлых поколений.
Потому отбросы чтобы занять себя хоть чем-то и выдумывают всякие Русские Слоны и прочие «прожекты».
Они не просто едят говно, а «создают два рабочих места и поднимают ВВП на 200 долларов».
Мы с gost не так давно это обсуждали. Что IT-сфера сейчас не источник сколь-нибудь значимой добавленной стоимости.
Большей частью это бесцельное перекладывание кирпичиков и перетаскивание байтиков. А так же таскание круглого и катание квадратного.