Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Оптимизация кода IB (увеличение скорости работы)

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8

Открыть новую тему     Написать ответ в эту тему

lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так, господа программеры, я понимаю - мысли высокого полета и все такое. Но соблаговолите ненадолго спуститься на землю.
 

Цитата:
может даже тормознее, т.к. увеличатся размеры выводимых хтмл страниц.

 
Это имхо... не совсем корректное утверждение. Комментарии господ программеров, плиз.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 18:36 19-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Наверное будет тормознее. Т.к. определить размер картинки, практичесски любого формата это десяток тактов процессора, что мизер, по сравнению с передачей даже небольшого кусочка "width=xx height=xx"...

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 19:36 19-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имхо, что одно, что другое - разницы большой нет.
Если код у борды стандартный (т.е. с font и т.п.), то width/height ничего особо не изменят, а если конфа на CSS, то могут сильно утяжелить код и наоборот замедлить.
Но имхо ivank всё же прав... Быстрее определить автоматически. А эти атрибуты нужны для растягивания/сжатия картинки и для браузеров, ко. не поддерживают автоопределение.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 19:56 19-06-2002
gregor



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
оптимизация дело серьёзное надо с головой подойти, с чего всетаки начать резать, printpage нужна 100% у меня там целые трактаты распечатывают.

----------
Ищу я в этом мире совершенства...
ICQ цветок на могиле моего рабочего времени

Всего записей: 340 | Зарегистр. 11-03-2002 | Отправлено: 20:39 19-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp
Нет, эти атрибуты нужны, что бы страница не "разъежалась" вместе с доопределение размеров картинок, или с отключенным показом изображений. Имхо кнопки это "вообсче ацтой!". Я у себя на "будщем форуме", вообсче сделаю всё текстом (т.к. рисовать не цмею, а стандартные изображения оставлять не хочу =)

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 20:45 19-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ivank
Ну если там картинки мелкие, то она особо и не разъезжается... По крайней мере, не замечал. А если весь дизайн из картинок, тогда да...

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 12:32 20-06-2002
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
так, если берем ИБ2 стандартную, то вот хотя бы чем можно оптимизить:
1. заменить графическое меню на текстовое:

Цитата:
Редактировать | Профиль | Сайт | Сообщение | ICQ | Цитировать
и т.д. поняли думаю.
2. я выкинул нафиг проверку на bad words - все равно этот механизм обходится в 2 счета и поэтому в topic.cgi он там в трех местах - вырезал нафиг. плюс еще в postings.cgi тоже.
потом буду еще думать, че вырезать, т.к. борда глючит! уже не справляюсь с трафом.
че там ИБ3 - можете вкратце рассказать ее суть? говорят, перл+mysql?  
 
зы. если у кого обнуляется list.cgi (и пропадают темы) - свистните - выложу автоматический фикс данной траблы.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 14:49 20-06-2002 | Исправлено: Shurik, 14:52 20-06-2002
Rick



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Shurik
А какой у тебя траффик посетителей и постингов, и на каком хостере стоит, если борда начинает глючить?

Всего записей: 1128 | Зарегистр. 07-08-2001 | Отправлено: 22:18 20-06-2002
durachka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я выкинул нафиг проверку на bad words  

А спамят если урлами? Только ручками затирать?

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 00:40 21-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
durachka
badwords - бесполезная вещь, т.к. она фильтрует все слова на предмет мата, даже бизбидные типа расслаблятся, полохой, ну и.т.д

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 05:18 21-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grey2002
Он тебе про УРЛовый спам, а ты ему про мат. Мат оно самом мобой (если материться с умомо) не затрёт...

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 07:34 21-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik
badwords ничего не даст, он всё равно из АЦ вырубается, а несколько ИФов ничего не меняют... Вообще у ИБ код уродский.
Та же сортировка тем на гл. странице - и то сделано косо. sub moderator ещё изучи, если посмеяться хочешь - там $memberout со списком модеров пишется даже когда не нужна. Короче, просотр для действий есть, но что-то конкретно посоветовать пока не удаётся...

Цитата:
че там ИБ3 - можете вкратце рассказать ее суть?  говорят, перл+mysql?  

Perl+DBM (или MySQL, но он медленнее выходит из-за косяков её), но довольно медленная (медленне ИБ2), но более фичная и нагрузоустойчивая. Т.е. хоть и тормозит, но не глючит при больших нагрузках.
Кстати, у тебя дизайн на CSS?..

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 08:18 21-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ivank

Цитата:
Он тебе про УРЛовый спам, а ты ему про мат.  

глюкануло...

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 10:05 21-06-2002
Warlock

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код ИБ2 действительно местами просто алогичный. А сколько неиспользуемых переменных создаётся - это ваще ужас. Я когда портировал её на РНР сначала сильно не придавал этому значения, но потом стал делать по уму. Кстати, незнаю конечно как будет дело обстоять на большом обёме данных, но пока на РНР она намного быстрее работает у меня на локале, чем перловая.

Всего записей: 146 | Зарегистр. 10-08-2001 | Отправлено: 00:09 22-06-2002
alexei



ibhacker
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Warlock
А какой у тебя exec скрипта, только всего скрипта, а не какого-то куска как это сделали в иб3 лол? При работе с больши к-вом данных php загибается

Всего записей: 647 | Зарегистр. 06-07-2001 | Отправлено: 11:22 22-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexei
Привидите мне, например, скрипт для  "сортировки по пятому полю текстого файла с 10000 записей, где записи разделены переносом строки, а поля "|". И шлавное, что бы этот код рабтал быстрее чем ПХПшный (мой вариант) более чем на 10%...

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 15:27 22-06-2002
alexei



ibhacker
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ivank
Например у меня на конфе через перл'oвский sort. Тестировался на 20000 строк и прилично выигрывал в пхп. А теперь представь что у тебя будет в топик.цги, там идет работа и с листом тем и с файлом постов. ПХП хорош только при использовании базы, а там где объем данных велик он начинает существенно проигрывать перлу, уже не раз обсуждалось.

Всего записей: 647 | Зарегистр. 06-07-2001 | Отправлено: 15:41 22-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexei
Код в студию. Я давал (ещё до падения ру-борда) то, что я смог сваять -- разница в скорости была минимальнейшая.

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 19:51 22-06-2002
alexei



ibhacker
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ivank
Ага в студию, размечтался... может и батва тебе свой даст

Всего записей: 647 | Зарегистр. 06-07-2001 | Отправлено: 20:46 22-06-2002
ivank



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexei
Я просил написать код для вот такой задачки:
Цитата:
скрипт для  "сортировки по пятому полю текстого файла с 10000 записей, где записи разделены переносом строки, а поля "|". И шлавное, что бы этот код рабтал быстрее чем ПХПшный (мой вариант) более чем на 10%...

 
Подготавливаем инфу в prepare.php:
Код:
<?
$text = 'A typical post, a little bit longer... Like that<br>';
 
for( $i = 0; $i < 4; ++$i )
    $text .= $text;
 
$fp = fopen( 'data.txt', 'w' );
 
for( $i = 0; $i < 10000; ++$i )
{
    $line = time().'|ivank|Topic title|'.$text.'|'.rand( 0, 10000 )."\n";
    fwrite( $fp, $line );
}
 
fclose( $fp );
?>

 
Затем, сортировка на PHP:
Код:
<?
$start = getmicrotime();
 
$data = file( 'data.txt' );
$indicies = array();
foreach( $data as $id=>$line )
{
    $line = explode( '|', $line, 5 );
    $indicies[ $id ] = $line[4];
}
 
asort( $indicies, SORT_NUMERIC  );
 
$fp = fopen( 'sorted_data.txt', 'w' );
 
foreach( $indicies as $id=>$cur )
    fwrite( $fp, $data[$id] );
 
fclose( $fp );
 
echo getmicrotime() - $start;
 
 
function getmicrotime()
{  
    list($usec, $sec) = explode(" ",microtime());  
    return (float)$usec + (float)$sec;  
}
?>
Средний результат после пяти запусков: 7 секунд
 
Вариант номер один перле (тормозной):
Код:
<?
$start = getmicrotime();
 
$data = file( 'data.txt' );
$indicies = array();
foreach( $data as $id=>$line )
{
    $line = explode( '|', $line, 5 );
    $indicies[ $id ] = $line[4];
}
 
asort( $indicies, SORT_NUMERIC  );
 
$fp = fopen( 'sorted_data.txt', 'w' );
 
foreach( $indicies as $id=>$cur )
    fwrite( $fp, $data[$id] );
 
fclose( $fp );
 
echo getmicrotime() - $start;
 
 
function getmicrotime()
{  
    list($usec, $sec) = explode(" ",microtime());  
    return (float)$usec + (float)$sec;  
}
?>
Средний результат после пяти запусков -- 17 wallclock seconds.
 
Вариант на Перле, попытка номер два (побыстрей):
Код:
use Benchmark;
$start = new Benchmark;
 
open( FILE, 'data.txt' );
@data = <FILE>;
close( FILE );
 
@indicies = ();
 
foreach $line( @data )
{
    ($trash, $trash, $trash, $trash, $key ) = split( /\|/, $line );
    push @indicies, $key;
}
 
# Откомментированный кусок, и кусок следующий за ним. Работают с одинаковой
# скоростью.
#@new = @data[ sort {
#           $indicies[$a] <=> $indicies[$b]
#              } 0..$#data
#          ];
# open( FILE, '>sorted_data.txt' );
# foreach $line( @new )
# {
#     print FILE $line;
# }
# close( FILE );
 
@indicies = sort { $a <=> $b } @indicies;
 
open( FILE, '>sorted_data.txt' );
foreach $index ( @indicies )
{
    print FILE $data[$index];
}
close( FILE );
 
$end = new Benchmark;
$td = timestr( timediff( $end, $start ) );  
print $td;
Средний результат: семь.
 
Так что робяты: где я не прав? (Хинт: я перла не знаю, так что где-нить уж точно ашипся...)

----------
ivank
http://ivank.oszone.net

Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 21:11 22-06-2002 | Исправлено: ivank, 21:15 22-06-2002
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Оптимизация кода IB (увеличение скорости работы)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru