Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2015, 21:27   #1
Ginier
Новичок
Джуниор
 
Регистрация: 10.03.2015
Сообщений: 3
По умолчанию рекурсия в php

У меня такая проблема: в коде много рекурсий, из-за чего он очень долго выполняется (до 20ти минут). Нужно ускорить работу выполнения программы. Расширение на С под php сделать не получается.
Может кто что подскажет?
Ginier вне форума Ответить с цитированием
Старый 10.03.2015, 21:35   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Избавьтесь от рекурсий, и оптимизируйте алгоритм в целом. Если конечно вы делали профилирование кода и уверены, что дело именно в рекурсивных вызовах
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 10.03.2015, 21:58   #3
Ginier
Новичок
Джуниор
 
Регистрация: 10.03.2015
Сообщений: 3
По умолчанию

Я пишу решение японских кроссвордов. От рекурсий никак не избавиться. Количество итераций меняется в зависимости от входных данных. Без рекурсий стало работать быстрее, но далеко не всегда правильно.
Ginier вне форума Ответить с цитированием
Старый 10.03.2015, 22:02   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Прямым перебором решаете?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 10.03.2015, 22:07   #5
Ginier
Новичок
Джуниор
 
Регистрация: 10.03.2015
Сообщений: 3
По умолчанию

Конечно нет. Я передвигаю блоки, чтобы найти клетки, которые точно зарисованы. Прооверяю сначала строки, потом столбцы. Таким образом, отталкиваясь уже от найденных клеток, проверяю как можно поставить остальные.
Ginier вне форума Ответить с цитированием
Старый 10.03.2015, 22:44   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Почему бы не написать на C или C++ и вызывать программу через php если вы от него избавиться не можете?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
php рекурсия Ast PHP 6 10.12.2011 16:50
Рекурсия Наташок Паскаль, Turbo Pascal, PascalABC.NET 1 18.04.2011 22:14
Рекурсия))) NewMen Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2010 14:24
рекурсия shelest Помощь студентам 3 14.04.2010 10:12
Рекурсия Alexsey1991 Помощь студентам 1 13.04.2010 21:19