Онлайн-расчёт
kwomaster7@gmail.com

Прием заявок осуществляется: Пн-Пт с 9:00 по 17:00. Сб-Вс - выходной!

8(068)95-13-385 8(050)95-13-385

Вы здесь: главная / полезное / Скрываемые Недостатки Python

Василий Кулик
12.20.2019
234 просмотров
Дата обновления: 01.01.2020

Скрываемые Недостатки Python

Мы живем в 21 веке! IT-технологии развиты на высоком уровне, что не удивительно. Каждый день в интернете появляется сотни тысяч сайтов по всему миру. Свои личные сайты имеют не только бизнесмены, политики, но и множество простых людей.

Что такое сайт и что он из себя представляет знает каждый, даже бабушки, дедушки и блондинки ;) Внешний вид сайтов пишется программистами на стандартизированных языках для WEB: HTML, CSS, JavaScript. Этими языками программируются браузеры, иначе говоря пишутся условия для интерпретаторов браузера, обрабатывающих понятный код человеку высокого уровня, отображая полноценный вид (представление) в браузере.

Сервера программируются 80% случаев на языке программирования PHP. Этот язык был изначально создан для WEB-программирования именно серверов, оправдал себя по скорости и высокой безопасности, но стали появляться и другие аналоги.

В последнее время стал набирать популярность язык Python в WEB-программировании серверов. В соц. сетях "Facebook", "ВКонтакте", "Instagramm", видео-хостинге "YouTube" и других сайтах активно крутится реклама с платными курсами обучения языку Python. В погонях за нечто новым люди толпами "кинулись" изучать и использовать Python в WEB-разработке. Заказчики стали заказывать сайты на Python, поддаваясь рекламе посредников.

Пока немного сайтов написаны на Python но всплыл вопрос: Какие подводные камни и опасности проекту принесет Python? Для ответа на данный вопрос логически правильным решением будет протестировать этот язык.

Скорость работы

Проверим скорость работы кода языков программирования PHP и Python, выполняющего одинаковые программные действия на оборудовании Emachines E729Z, CPU Intel Pentium P6200 (2x2.13 GHz). От комментариев по коду удержусь, ведь речь не об этом.

Код Python:

import time
start=time.time()

f=open(u'D:\\Python/base.bd','r')
s=f.read()
f.close()

buf=s.split("\n")
i=0
c=len(buf)
while(i<c):
str=buf[i].split(';')
if(str[0]=='Статья 33'):
print(str[0])
i=i+1

i=0
c=80000
while(i<c):

i=i+1

b='Мы пришли и начали жарить шашлыки и отдыхать 77 ';
b=b.replace('пришли', 'приехали')
b=b.replace('начали','закончили');

print(b)
str='Статья;1020;привет;'
mas=str.split(';')
print(mas)

print(time.time()-start)

input("Press Enter to continue...")

Код PHP выполняющий аналогичные задачи:

<?php
$start=microtime(true);

$root=$_SERVER['DOCUMENT_ROOT'];
$f=fopen($root.'/base.bd','r');
$buf=explode("\n", fread($f,filesize ($root.'/base.bd')));
fclose($f);

$i=0;$c=count($buf);while($i<$c){$str=explode('~|~',$buf[$i]);
if($str[0]=='Статья 33'){echo $str[0];}
$i++;}

$i=0;$c=80000;while($i<$c){

$i++;}

$b='Мы пришли и начали жарить шашлыки и отдыхать 77 ';
$b=str_replace('пришли', 'приехали',$b);
$b=str_replace('начали', 'закончили',$b);

echo $b;

$str='Статья~|~1020~|~привет~|~';
$mas=explode('~|~',$str);
print_r($mas);

echo '<br>Время выполнения PHP-скрипта: '.(microtime (true)-$start);

Время выполнения задачи:

Кто был послушным мальчиком, или девочкой, изучал математику в школе и разбирается в десятичных дробях видит, что проиграл по времени Python. Двигаемся на шаг вперёд и высчитаем, в сколько раз проигрывает. Для этого, время интерпретации кода Python делим на время интерпретации PHP (больше число на меньше) следующим образом: 0.17300987243652344 / 0.0060000419616699 = 17.834889727797. Python проиграл почти в 18 раз за PHP и, безусловно, проигрывает в любых других операциях и задачах (многократно протестировано).

Многие убеждены, что скомпилированый код Python в исполняемый файл выполняется сверхбыстро. Принимаю вызов и пользуясь популярным компилятором PIP проделываю это. Получем скорость 0.034001827239990234 сек. Применив вышеописанную формулу убеждаюсь, что это далеко не спасло ситуацию и мы видим следующее: 0.034001827239990234 / 0.0060000419616699 = 5.6669315743464. Даже не спасла компиляция и Python проиграл почти в 6 раз.

Почему скорость работы кода (скриптов) важна в WEB-программировании?

Из этого вопроса следует простой ответ:

Сервер - это компьютер, который получает запросы от пользователей на выдачу нужных страниц сайта. Одновременно на сервер может поступать более тысячи запросов. Чем больше скорость обработки кода интерпретатором - тем больше пользователей сервер может обработать за ед. времени, исключая длительные ожидания на загрузку страниц сайтов.

Подходит Python для WEB-программирования?

Теперь посчитаем, за сколько времени сервер сможет обработать 500 пользователей сайта одновременно, выполняя вышеприведённый код:

Скрываемые недостатки Python разоблачили. Казалось бы, миллисекунды - это ерунда, а разница между Python и PHP сногсшибательная. PHP, как не странно, выигрывает по скорости намного и за счет этого лидирует и будет лидировать в будущем на рынке много лет. Использование Python в веб-проектах повлечёт немедленный смертельный приговор. Ответ очевиден, почему программисты отказываются использовать Python в ВЕБ-разработке!

Не поддавайтесь красноречивой рекламе, не дайте себя ввести в заблуждение, как это делают супермаркеты, рекламируя "качественную и полезную" колбаску. Выбирайте PHP для программирования серверов и Ваш проект никогда не завалится, как на Python!
Как говорится в народе: "Доверяй, но проверяй!"

Закрепить полученные знания онлайн

Комментарии (1):

Марат
Никогда не думал, что Python так медленно работает. Сам проверил и убедился. Наверное владельцы этого языка программирования так сильно кричат, что он быстрый ради рекламы. Позор!
Публикация: 2019.12.31_18:25:31

Предложить комментарий