Pull to refresh
19
0
Send message

Это и есть "a bit faster" :)
Если бы они переписали код на чистом cython (pyx/pxd), производительность могла бы увеличиться в десятки раз (это, строго говоря, верно для какого-то вычислительного кода на питоне, потому как в случае web-фреймворка всё конечно сложнее). Но именно ситонизация py-кода даёт очень незначительный прирост так как выполняется тупая трансляция в CPython API со всем динамизмом, тогда как код на cython уже статически строго типизирован.

Что значит "компилируемого"? Там просто все файлы транслируются в C-экстеншены с помощью cython. "Ситонизация" обычного питоновского кода почти не прибавляет к производительности такого кода. А чисто ситоновского оптимизированного кода там нет. Поэтому они и пишут, что:


        print('\nNOTE: Cython not installed. '
              'Falcon will still work fine, but may run '
              'a bit slower.\n')

"a bit slower"

Каждое приложение на electron потребляет какое-то совершенно невероятное количество ресурсов: оперативной памяти и процессорного времени, что никак не коррелирует со сложностью и функциональностью приложения. Каждое приложение на электроне тормозит и фризится даже на мощных рабочих станциях. Даже хвалёный тут и везде vscode. Одно, второе, третье приложение на электроне и вот уже мощная рабочая станция превращается в тыкву… гори в аду, electron!

Благо, что можно не использовать всю "такую жесть", например, с дженериками. Если не хочется упарываться по типизации всего и вся, достаточно указания базовых типов в аннотациях аргументов и переменных где это действительно нужно, например, для помощи линтерам и автокомплитерам.


И кстати, автор забыл упомянуть, что хоть тайпхинты и typing — это в основном не про рантайм, но свой оверхед всё это добро всё же накладывает, причем в 3.7 этот модуль ускоряли.

Аналогично. Писал им про разные баги с сайтом, некоторые были критичными. Всегда один и тот же "ответ". То есть ни разу никто ничего не ответил!

Надо заметить, что не все людистраны так поступают. В Скандинавии, например, вырубки сразу засаживают. А у нас просто вырубают тайгу и гонят лес в Китай и ту же Европу. А что такого, главное прибыль, а тайга большая, сама вырастет, может быть… Хотя с тропическими лесами ситуация ещё хуже.

Также совершенно не согласен с этим утверждением. Зачастую получается наоборот: "эта работа очень простая и понятная, я могу быстро сделать её в любое время" и в итоге прокрастинируешь. Причем эта работа даже не "лягушка", она может быть интересной и её даже хочется начать делать и сделать, но ты словно оттягиваешь этот момент, не занимаясь этим прямо сейчас.

Visual Studio или Visual Studio Code? Настроить первое под rust — это какая-то безумная идея. :) Вряд ли visual studio будет его когда-нибудь поддерживать.


Лучше, на мой взгляд, развивать IDE-плагин на платформе IntelliJ IDEA. Сейчас этот плагин пилят в том числе и люди из JetBrains, возможно, когда-нибудь оно превратится в полноценную и мощную IDE для rust от JetBrains.

Я не утверждаю, что нужно всё отрицать. Просто считаю, что нельзя сразу вешать ярлык "сумасшедший", если слова человека звучат как полная дичь. История помнит и не такие безумные вещи, которые в итоге оказывались правдой. А касательно педофилии в Скандинавии, то она реально существует (как и везде, собственно, но не ясно в каких масштабах). Взгляните хотя бы вот на такую новость: "Полиция норвежского города Берген объявила о раскрытии в стране широкой подпольной сети педофилов": https://www.aftenposten.no/norge/i/8Mqww/Politiet-har-avdekket-51-personer-involvert-i-omfattende-pedofilt-nettverk


В современной художественной скандинавской литературе тоже встречаются довольно интересные и сильные вещи: https://www.corpus.ru/products/devochka-vorona.htm

Вы правда считаете, что органы опеки делают что-то неправильно?

А у вас достаточно информации по этому делу и есть доказательства, что "эта тётка из России просто сумасшедшая"?


Органы опеки в Норвегии критикуют не только в России, но и в самой Норвегии.
Тут в статье и комментариях много упоминаний, что в Норвегии люди не особо любят работать, и многие вещи/услуги делаются долго, некачественно и спустя рукава. Так почему же гос. служба по опеке должна работать как швейцарские часы? Там сидят такие же люди, а также у них есть много полномочий и прав, а государство чаще всего (исходя из информации в открытых источниках) предпочитает не вмешиваться в их работу. Поэтому вполне можно предположить, что могут происходить перегибы, ошибки и несправедливые решения. Обвинить в "lack of parenting skills" можно кого угодно.

Страшилки про ювенальную юстицию были очень популярны несколько лет назад с подачи одной обиженной дамы. По личным (и очень субъективным) наблюдениям — самые счастливые детские лица я видел только в Норвегии.

Очень субъективно, по лицам скандинавов на улице вообще не скажешь, что они счастливые или какие-то ещё. Дети, конечно, более открытые и эмоциональные, но всё же. И да, я видел самые счастливые детские лица в Италии. И там детей из семей не забирают по малейшему поводу. Я даже не знаю, что будет если у итальянца попробовать забрать ребенка...


И на счет "обиженной дамы" — это тоже ваше субъективное мнение? Потому как вот эта история по описанию выглядит как какой-то кошмар (я, конечно, не знаю всех деталей дела).


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

А также:


Children with a foreign mother are four times more likely than other children in Norway to be forcibly taken from their families and the number of children taken into emergency care rose by 50% in just 5 years (from 2008 to 2013) with the commonest reason for a care order now being simply "lack of parenting skills".

И да, все, кто считают, что всё в порядке, сами сталкивались хоть раз со службой опеки? Не важно в какой стране. Люди из моего близкого круга общения сталкивались. У них грозились забрать детей за то, что в холодильнике были просроченные продукты.

Тем, что комментарий надо искать и руками править, а DEBUG и любые другие дефайны можно конфигурировать на этапе конфигурирования/сборки, а также о них и их состоянии чаще всего знает ваша IDE. Это очевидно же.

Да, это мой косяк в силу недостатка знания. В пн попробую реализовать через malloc и обновлю статью.

Зачем malloc?! Зачем пытаться создавать вектор динамически? std::vector сам управляет памятью под свои элементы, это по сути динамический массив, вам не надо заморачиваться вообще с управлением памятью для этого контейнера и создавать его объект в куче. Просто создаёте объект вектора на стеке и резервируете необходимое количество памяти под количество элементов, которые вам надо хранить, с помощью vector.reserve и всё.

Нельзя использовать free для удаления объектов, созданных через new! free нужно использовать только для освобождения памяти, выделенной через malloc. Это же азы, ну как так то, ребята?


И вообще, я не вижу никакой практической пользы в создании объекта вектора динамически. Зачем вы вообще это делаете?

from libc.stdlib cimport free
...
from libcpp.vector cimport vector

...

cdef dict_vec *data_list
data_list = new dict_vec()
...
free(data_list)

Если C++ не знаете, идёте в документацию по Cython и читаете:


C++ objects can be dynamically allocated with new and del keywords.

Cython заметно отличается от Python, это отдельные файлы со своим расширением, надо возиться для настройки окружения для его компиляции, интеграции скомпилированных модулей с программой и т. п., а указание типов в Julia не выходит за рамки программирования именно на Julia.

В плане работы JIT было бы интересно сравнить Julia и PyPy. :)

50/20 секунд — это не особо впечатляющий прирост производительности (2.5 раза), не находите?


Вот тут есть некоторые занимательные бенчи
https://hackernoon.com/performance-analysis-julia-python-c-dd09f03282a3


И ещё есть такой комментарий на HN


This has been my experience as well: Python-style Julia code often does not run faster than in Python. Only of you rewrite it in C-style do you get C-like performance.
This is not necessarily a bad thing. Just an observation from me translating my Python code to Julia.

https://news.ycombinator.com/item?id=17204750

А как на счет инструментария? IDE, интерактивный отладчик, рефакторинги, автодополнение, language server? Видел на гитхабе разные пакеты, но официальной поддержки со стороны команды разработчиков языка всего этого нет? Juno IDE выглядит очень сыро (на полноценную IDE не тянет) и он, как я понял, на основе Atom, значит будет тормозить всегда и везде.

Information

Rating
3,561-st
Location
Россия
Registered
Activity