[PHP] php5-fss для Denwer? Оптимизация str_replace

12
T
На сайте с 28.06.2007
Offline
82
2502

Доброго времени суток. Помогите пожалуйста решить такую проблемку: в цикле использую функцию str_replace(), что занимает довольно много времени на обработку :(

Можно ли как-то ускорить данный процесс?

Нашёл статью по php5-fss, действительно возможно ускорить str_replace с помощью данного расширения? Кто-нибудь пробовал? Искал dll для Denwer, не смог найти, подскажите где бы его раздобыть?

Вот примерно такой код нужно ускорить:

<?php

set_time_limit(0);
$str='<p style="text-align: justify;"><em>16 августа камерунский футболист Самюэль Это, на данный момент принадлежащий итальянскому "Интернационале" из Милана, может перейти в <br />российский "Анжи", передает радио "Вести ФМ".</em>
<p>16 августа в полдень по местному времени в Риме, в клинике "Вилла Стюарт", Это пройдет медицинское обследование, после которого сделка по переходу в российский клуб будет оформлена официально. Представители "Анжи" уже находятся в Милане, чтобы уладить все необходимые формальности. На пресс-конференции, данной самим футболистом 13 августа в Камеруне, у него была возможность остаться в "Интере", но его переход в "Анжи" уже практически решен.</p>
<p>30-летний Это, с 2009 года выступая за "Интер", выиграл все главные турниры - национальный чемпионат и Кубок Италии, а также Лигу чемпионов.</p>
</p>';
$i=0;
if (!file_exists('content')) {mkdir('content');}
while ($i<1000)
{
$i++;
$text=str_replace('выиграл все главные турниры', $i, $str);
file_put_contents('./content/'.$i.'.html', $text);
}
?>
ДП
На сайте с 23.11.2009
Offline
203
#1

А вы замеряли, что у вас именно str_replace() тормозит?

При таких объемах текста у вас скорее на запись на диск основное время тратиться должно.

B
На сайте с 25.02.2009
Offline
68
#2

Я тоже думаю, что задача в корне неверно сформулирована, сследует озадачится записью файла, а не заменой строк - это же очевидно

Бесплатная CMS LitePublisher это блог, вики, тикет система, голосование (http://litepublisher.ru/) на высокой скорости с минимум памяти
T
На сайте с 28.06.2007
Offline
82
#3

Спасибо вам, сейчас закомментировал все str_replace, посмотрел, и действительно всё время уходит на запись :( str_replace занимает всего доли секунд.

Может подскажите возможно ли ускорить процесс записи в файл? Может есть какие расширения для этого? Или может с FAT32 PHP намного быстрее работает? Я уже и eAccelerator и Zend ставил, не помогает.

n0name
На сайте с 22.12.2006
Offline
54
#4
Trol:
Спасибо вам, сейчас закомментировал все str_replace, посмотрел, и действительно всё время уходит на запись :( str_replace занимает всего доли секунд.
Может подскажите возможно ли ускорить процесс записи в файл? Может есть какие расширения для этого? Или может с FAT32 PHP намного быстрее работает? Я уже и eAccelerator и Zend ставил, не помогает.

Если скорость записи так критична, то смотрите в сторону SSD.

Смена ФС навряд ли сильный прирост даст. Не говоря уже о модулях.

Сервис сравнения цена на VPS (http://vpska.com/)
N
На сайте с 06.05.2007
Offline
419
#5
Например, в одной из наших MediaWiki-систем на больших статьях 75% всего времени тратилось именно на это.

Вооооот. Они прежде чем предпринять действия это время замеряли. А ты ?

Если это все сделано ради генерации текстов, попробуй ramdrive настроить у себя и обрабатывать тексты крупными порциями на этом диске.

Кнопка вызова админа ()
C
На сайте с 28.01.2010
Offline
70
#6

Хранить данные на физическом файле - принципиально? Почему бы не сделать обработку запроса пхп скриптом и выборку из бд?

Это - личная подпись. Здесь обычно ставят ссылки на всякие кривые сайты, надеясь получить "жирный бек".
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#7

Предлагаю просто распаралеллить запись и всё.

Пусть будет 10 ботов и писать по 100 записей, $i можно им по GET передавать.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
B
На сайте с 25.02.2009
Offline
68
#8

Сколько файлов в папке куда идет запись? Если более 1000 то настоятельно рекомендуется разбить на подпапки с меньшим колвом файлов. Увеличить кеш файловой системы. Но скорее всего проблема в плохих алгоритмах - а это требуетпересмотр концепций и советов там никто не даст

T
На сайте с 28.06.2007
Offline
82
#9
n0name:
Если скорость записи так критична, то смотрите в сторону SSD.

Почитал по ним, прирост совсем не существенный для такого заморачивания :( Но расширил кругозор, спасибо :)

netwind:
Вооооот. Они прежде чем предпринять действия это время замеряли. А ты ?

Ага, ошибся, хорошо люди умные поправили, а то я уже php5-fss смотрел, а оно и не помогло бы даже :(

netwind:
Если это все сделано ради генерации текстов, попробуй ramdrive настроить у себя и обрабатывать тексты крупными порциями на этом диске.

То, что обрабатывается подхватывается 1 раз, т.е. в скрипте в основном запись на диск идёт, спасибо почитаю подробнее по ramdrive

Counselor:
Хранить данные на физическом файле - принципиально? Почему бы не сделать обработку запроса пхп скриптом и выборку из бд?

спасибо, о такой возможности знаю, но нужно именно создание файлов :(

LEOnidUKG:
Предлагаю просто распаралеллить запись и всё.
Пусть будет 10 ботов и писать по 100 записей, $i можно им по GET передавать.

спасибо, вот это интересно, даже и не подумал об этом, впринципе можно разделить скрипт на несколько и запустить сразу все, но попробую такую реализацию, спасибо за идею. Может где пример такой реализации можно глянуть? Т.е. получается можно написать 10 таких функций и скрипт будет продолжать работать записывая данные в фоновом режиме?

blogolet:
Сколько файлов в папке куда идет запись? Если более 1000 то настоятельно рекомендуется разбить на подпапки с меньшим колвом файлов. Увеличить кеш файловой системы. Но скорее всего проблема в плохих алгоритмах - а это требуетпересмотр концепций и советов там никто не даст

Спасибо, деление как раз так и продумано что по завершению работы скрипта в каждой папке не более 1000 файлов

n0name
На сайте с 22.12.2006
Offline
54
#10
Trol:
Почитал по ним, прирост совсем не существенный для такого заморачивания :( Но расширил кругозор, спасибо :)

Пожалуйста :)

Прирост скорости в несколько раз должен быть. Или вам больше нужно?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий