The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Языку 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 типизатор для Питона, и проблема низкой скорости будет решена. О чем мы тогда будем говорить. Впрочем, знаю: о значащих пробелов, которые никто на самом деле не вводит.  

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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