Форум → Программирование → PHP для идиотов → Что такое gc_probability и gc_divisor?
Что такое gc_probability и gc_divisor?
-
1 декабря 2009 г. 17:16, спустя 12 минут 9 секунд
вероятность запуска сборщика мусора вестимо.Спустя 30 сек.class Cache_File extends Cache
{
var $_machineSettings = array(
'PREFIX' => 'fc',
'EXT' => 'fch',
'GC_PROBABILITY' => 0.1
);
// this cache machine is too slow
var $_performanceLevel = 5;
function Cache_File()
{
if (mt_rand(0, 99) < $this->_machineSettings['GC_PROBABILITY'] * 100)
$this->_gc();
}
-
1 декабря 2009 г. 17:20, спустя 3 минуты 52 секунды
Ну это я понят, а второй? делитель? нахер он
И вообще странная настройка… "вероятность"…https://smappi.org/ - платформа по созданию API на все случаи жизни -
1 декабря 2009 г. 17:25, спустя 5 минут 11 секунд
ниче странного, все корректно.
а делитель - он вероятность уменьшает. Мой код можно было б переписать какfunction Cache_File()
{
if (mt_rand(0, 99) < $this->_machineSettings['GC_PROBABILITY']/_ДЕЛИТЕЛЬ_ * 100)
$this->_gc();
}
но мне этот делитель нахуй не нужен. Вообще глупо, согласен. Одной вероятности хватило б, так они еще и делитель придумали. -
1 декабря 2009 г. 17:26, спустя 1 минуту 20 секунд
почему странная … зачем он каждый раз нужен? лучше конечо его вообще просто по расписанию запускать, какбы логичнее, а то вероятность такое дело - можно и с первого раза детей наделать … а можно и годами не предохраняться))Сапожник без сапог -
1 декабря 2009 г. 17:28, спустя 1 минуту 29 секунд
вот смотри, у меня сраный файловый кеш. Время от времени нужно подчищать помершие куски кеша. Делает это сборщик мусора. Не буду ж я каждый раз делать glob('*'), filetime($file)? так весь мой кеш по пизде пойдет. Поэтому нужно дать возможность настроить вероятность запуска сборщика мусора, что б он запускался 1 раз на 100 запусков скрипта, к примеру. -
1 декабря 2009 г. 17:39, спустя 11 минут 7 секунд
вот я и говорю, есть lifetime, а нахуй вероятность - не понятноСпустя 103 сек.а делитель - он вероятность уменьшает.
неужели нельзя было все в одном конфиге сделать?
типа
y = 100
x = 25
но можно же было сделать
z = 4 #100/25https://smappi.org/ - платформа по созданию API на все случаи жизни -
1 декабря 2009 г. 17:47, спустя 7 минут 57 секунд
время жизни сессии не связано с вероятностью запуска GC напрямую. -
1 декабря 2009 г. 17:54, спустя 7 минут 25 секунд
'session.gc_maxlifetime' ты об этом?https://smappi.org/ - платформа по созданию API на все случаи жизни -
1 декабря 2009 г. 18:02, спустя 7 минут 42 секунды
давай я еще раз приведу пример на моем файловом кеше. Есть парамтеры "время жизни кеша" и "вероятность запуска сборщика мусорв"
Сборщик мусора обходит папку с кешем, получает время создания файла, сравнивает его с текущим временем и временем жизни. Если файл старый - удаляет его.
Сборщик мусора запускается не каждый раз, а с какой-то вероятность. Андэрстэнд? -
1 декабря 2009 г. 18:14, спустя 12 минут 16 секунд
Абырвалг, это я понял, я тебя спрашиваю о другом.
* А именно, нахуй нужен gc_divisor, когда можно самим поделить вероятность (gc_probability(100)/gc_divisor(2)=50…. ну а хули сразу не написать 50?) ?
* Далее,время жизни сессии не связано с вероятностью запуска GC напрямую.
'session.gc_maxlifetime' ты об этом?https://smappi.org/ - платформа по созданию API на все случаи жизни -
1 декабря 2009 г. 18:18, спустя 3 минуты 45 секунд
мой прошлый пост - ответ навот я и говорю, есть lifetime, а нахуй вероятность - не понятно
ты наверно просто перепутал, и вместо divisor написал lifetime.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!