The OpenNET Project / Index page

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



"Языку Python исполнилось 30 лет"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Языку Python исполнилось 30 лет" +/
Сообщение от economist (?), 24-Фев-21, 21:58 
А от NumPy с моно-типом массивов - вернулись в Pandas к мульти-типам, случайно тем самым порвав самое узкое место всех DS-библиотек (и вывели сабж в лидеры в мире DS). Почему?

Да потому что данные из реального мира - всегда "грязные", и динамическая типизация - рульнее и безопаснее, позволяет обойтись без препроцесса.

Пример:

ИНН это 10/12 цифр, и валидируется числовым алгоритмом. Но это всё-таки текст, потому что... Южные республики - с ведущим нулем: 0521321814. А когда мы загружаем чужие данные (они всегда чужие) - выяснится что 5-10% данных содержат О/O вместо 0, имеют не ту длину, триады, содержат буквы типа KZ, ИНН может быть похож на наш, но по факту окажется белорусским итд. Работать с этим всем в Numpy будет очень неудобно. И вот тут динамический Python и серии неопр. типа object из Pandas - рулят, нет кучи временных переменных, ссылочная модель памяти и сборщик мусора позволяют держать все данные в RAM и делать всё быстро. У Питона нет утечек памяти, а принцип главенства сслылки над копией - уменьшают объем памяти (но и бесят поначалу).  

Аналогия - СУБД SQLite, в ней "утиная" типизация, хранится всё, даже числа - как текст. Можно и текст внутри числового столбца. А работает SQLite - быстрее всех. Просто нужно привыкнуть и со всем работать как с "текстом" - и проблем не будет. Против SQLite ничего ни у кого нет? На среднем офисном компьютере - десятки баз SQLite, на телефоне - иногда сотни. Самая популярная СУБД по числу баз и инсталляций. Кстати в сабже С-либа sqlite3 по скорости обходит консольную С-утилиту sqlite3.exe примерно на 10-15%.

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

Вангую что как только девопсы начнут описания типов (или IDE это сделает, как VSC c некоторыми линтерами) - то Google или кто еще напишут статический on-demand типизатор для Питона, и проблема низкой скорости будет решена. О чем мы тогда будем говорить. Впрочем, знаю: о значащих пробелов, которые никто на самом деле не вводит.  

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Языку Python исполнилось 30 лет, opennews, 21-Фев-21, 10:39  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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