Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Наши скрипты > Кто раньше? |
Автор: YahоО 14.12.2023, 17:54 |
То ли в javascript, то ли в php, и т.д.: Имеется некоторая функция выполнение которой длится предположим несколько секунд. Также имеется еще одна функция - альтернативная версия первой функции, выполняющая то же самое, но работающая то ли быстрее то ли медленнее первой функции, причем когда как, время всегда разное и может отличаться в разы, и заранее определить приоритет первой или второй функции невозможно. Какую из них использовать чтобы результат появился быстрее? Асинхронность, сигналы, это решение? А процессор выполняет вместо одной функции уже две и оттого эффект времени может быть получен еще хуже? Значит наугад выбрать что то одно, то ли первую то ли вторую функцию, но будет ли это оптимальным и универсальным? Есть иные варианты? |
Автор: bars80080 16.12.2023, 21:52 |
по такой постановке вопроса - раз заранее определить какая будет быстрее невозможно, то выбирай всегда первую. с вероятностью 50% будешь в выигрыше иной вариант - описать реальную задачу, а не сферического коня в вакууме. |
Автор: YahоО 17.12.2023, 18:33 |
Задача, (из случайных) найти пару простых чисел удовлетворяющих определенным требованиям, при малых числах задача решаема за 0 сек, но чем больше (длиннее) числа тем больше требуется времени, причем время на выработку решения всегда разное, и это понятно, дело случая. bars80080, ...? (ходи конем) |
Автор: bars80080 30.12.2023, 23:32 |
эти требования определяют алгоритм. проблема в том, что алгоритм видимо слишком тяжёлый при большой величине чисел и потому выполняется долго. отсюда вывод: найти другой алгоритм, который будет легче и потому выполняться быстрее. это могут быть как упрощённые исходные требования, так и совсем иные требования, которые имеют более-менее точную корреляцию исходным точным вариантом. таким образом, будет получен механизм работающий быстро, но не всегда точно. в зависимости от выбранного решения точность будет более или менее. если же обязательно сохранить анализ в исходных требованиях и нет возможности заменить таким же точным, но более быстрым алгоритмом, то задачу можно решить только повышая вычислительные мощности - за счёт ресурсов. повышение скорости, распараллеливание, разбиение задачи на части и тому подобное |