borisd

Рейтинг
262
Регистрация
13.02.2008
mendel:
<?php
$maxIndex = 50000000;
$a = new SplFixedArray($maxIndex);
for($i=0; $i < $maxIndex; $i++) {
$a[$i] = $i;
}
?>

Результат этого примера: 2,674g

Но вот даже в вашем простейшем примере во всю красу предстает один из самых ужасных недостатков ПХП, который меня коробит больше всего, а именно: имя класса SplFixedArray. Если смотреть на код, то сразу возникает вопрос: откуда он взялся, где его искать, что это такое, где и в каком месте искать его определение? А ответ простой - хз. В противоположность пхп, в питоне всегда прямо в файле исходника четко видно что и откуда импортировано.

mendel:
Дайте реальный кейс и мы увидем другие более эффективные схемы.

Вы думаете у пхп есть какие то шансы против универсального языка? Ну, давайте сравним скорость обработки дампа википедии алгоритмом LDA (алгоритм тематической классификации) или LHS и сравним скорость. На питоне это будет десяток строк кода (с использованием соответствующего пакета) и несколько часов времени на обработку. На пхп как это реализовать и сколько там всё будет обрабатываться, я не знаю.

Короче, ради интереса провел простейший тест с массивом:

ПХП5:


<?php
$a = array();

for($i=0; $i < 50000000; $i++) {
$a[$i] = $i;
}

print 'ok';

while(1) {
$foo = 2.0 *2.0;
}
?>

Питон 2.7 (Вариант 1. Храним элементы как список):


a = []

for i in range(50000000):
a.append(i)

print ('ok')

while 1:
b = 2.0 * 2.0

Питон 2.7 (Вариант 2. Храним элементы как словарь, т.е. ассоциативный массив):


a = {}

for i in range(50000000):
a = i

print ('ok')

while 1:
b = 2.0 * 2.0

------------------------------

Смотрю расход памяти процесса командой top (у меня дебиан стоит) в столбце RES. Для этого бесконечный цикл в конце включил.

Итого:

ПХП: 6,964g

Питон (храним в списке): 1,524g

Питон (храним в словаре): 4,151g

danforth:
Проведем тест? Как минимум потребление памяти сможем потестить

Валяйте, давайте с массивами что-нибудь замутим. Предлагайте тест.

Интересно, редирект с урла без хвостового слэша на тот же урл с хвостовым слэшем окажет негативное влияние на поисковики??? А то разные цмс по разному конечный слэш обрабатывают и автоматом перенаправляют, если конечный слэш урла не соответсвует их логике.

богоносец:
Но вообще-то и роботс может не помочь

Ага, он вроде сам указывал, что запрета в роботсе не достаточно, надо еще в метатегах запрет ставить.

Когда запускали доменную зону РФ, то организаторы составляли список запрещенных для регистрации слов. Помню, он гулял по интернету.

mendel:
Приличная НС на нативном пайтоне?

Сишные в основном. Питон с Си легко интегрируется. Но часто эти алгоритмы основываются на математической библиотеке numpy, которая конечно хорошо оптимизирована.

mendel:
Я начинал с СМ1800, но это было в 9 лет, на бейсике и баловство.

Я начинал с программируемого советского калькулятора, потом перешел на программирование в машинном коде на какой-то советской эвм, а далее да: микроша, БК, синклер самодельный, i286-386, бейсик и т.д.

mendel:
Главное при переходе между языками выдерживать перерыв минут 15.

Ну, вы же сами прекрасно понимаете, что изучение нового языка - это вопрос нескольких дней, если имеются базовые знания. И выбор того или иного языка - вопрос задачи и личных предпочтений. Я например, если соседу делаю сайтик, то конечно на каком нибудь известном движке на пхп, где большинство вещей работает из коробки и нет проблем с копеечным хостингом. А для своих проектов использую в основном питон как универсальный язык, чтобы реализовать что-нибудь интересное и не ограничивать себя в будущем.

dma84:
С большими массивами на PHP никто не работает, как минимум ограничивают выборку. Всё таки разные назначения у языков, а универсальность - не главное.

Для питона например есть библиотеки, позволяющие в три строчки кода создать самообучающуюся нейронную сеть или реализовать алгоритм кластеризации. Вы представляете, сколько интересных вещей можно реализовать? Данных вокруг нас - куча, надо уметь их обрабатывать, структуировать. И поэтому для меня универсальность - огромное конкурентное преимущество.

---------- Добавлено 06.10.2016 в 14:13 ----------

borisd:
Да только фигня всё это.

Я для меня не фигня. Даже чисто психологически. Как вижу код на пхп, так сразу глаза в раскорячку делаются. Почти также как от взгляда на плиточный интерфейс в винде - смотрю на эти пестрые квадраты и ничего не могу разобрать абсолютно, прямо до рвотного рефлекса.

Также если в питоне всё четко разложено по пакетам и модулям и в каждом файле четко видно, откуда та и или иная функция, класс или переменная импортированы, то глядя в пхп-шный файл часто не понятно, где эта функция или переменная определена, откуда взялась. Да, во многом эта неразбериха из-за кривизны рук, но дело в том, что питон просто не даст так сделать.

PG7, Не ломайте себе психику с пхп. С него нельзя начинать ни в коем случае - испортите себе мозг :).

Мой совет: python-django-wagtail. А дальше можете и за пхп взяться, но смысла уже не будет.

---------- Добавлено 06.10.2016 в 12:42 ----------

dma84:
Феерично!...

А вы зря так... :) Если например в серьезном проекте придется работать с большими массивами данных, то что будете с пхп делать? Питон в отличие от пхп универсальный язык, там можно например подключить пакет numpy и создавать компактные массивы именно под те данные, которые используются, например если для каждого элемента достаточно одного байта, то именно соответствующий тип данных и можно задействать, а не выделять по 100-200 байтов для хранения каждого однобайтного элемента массива.

Но больше всего в пхп мне не нравятся символы $$$ перед каждой переменной, эти значки сильно раздражают. Разве эти значки могут кому то нравиться???

Andy HaRd, Скажу кратко: всё бесполезно, гугл видит всё - и ссылки сгенеренные джаваскриптом, и перенаправления, и целевые страницы перенаправления. Более того, он в выдаче по странице с ?go=... закеширует целевую страницу целевого сайта.

Вы можете вынести джава-скрипт генерации ссылки в отдельный js-файл и запретить его к индексации, тогда гугл не будет видеть сгенерированные им ссылки (вернее, будет делать вид, что не видит), но в вебмастере начнет сильно ругаться на этот запрещенный к индексации скрипт и предупреждать о возможном понижении позиций из-за этого.

Всего: 2244