|
0 / 0 / 1
Регистрация: 24.10.2015
Сообщений: 27
|
||||||
Про программирование! НА ЛОГИКУ! Язык не важен28.06.2018, 15:11. Показов 843. Ответов 14
Метки нет (Все метки)
K = 20 TIME = 41.32 sec K = 25 TIME =18m 41 sec = 1 121 sec K = 30 TIME = 9 h 54 m = 35 640 sec Вопрос. Почему функция run_dlx() затрачивает гораздо больше времени на своё выполнение, если вызывается чаще. ( прогрессия увеличиваеться заметно с 20) ? (Функция не принимает параметров). Приводите все примеры, до которых додумались) буду благодарен
0
|
||||||
| 28.06.2018, 15:11 | |
|
Ответы с готовыми решениями:
14
Если количественный результат оценки не важен, а важен только итог сравнения - то какую шкалу лучше применить Хочу изучать программирование какой язык программирование выбрать ? Про логику движения по окружностям |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 28.06.2018, 16:14 | |
|
Потому что у алгоритма экспонентная сложность.
0
|
|
|
Заблокирован
|
|
| 29.06.2018, 17:34 | |
|
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.06.2018, 18:23 | |
|
student8102, ну поскольку исходников функции нет, остается только гадать.
Как вариант, функция изменяет глобальное состояние, которое влияет на скорость последующих выполнений.
1
|
|
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|
| 29.06.2018, 18:58 | |
|
1
|
|
|
Житель Земли
|
|||
| 30.06.2018, 01:36 | |||
|
я не знаю, что за язык в образце кода (если это реальный язык), но можно предположить, что это цикл. а это не соответствует словам и озвученная логика здесь тоже ни к селу ни к городу. ЧТОБЫ СДЕЛАТЬ УМНЫЙ ВБРОС, НУЖНО ПОСТАРАТЬСЯ
0
|
|||
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 30.06.2018, 15:40 | |
|
Зависит от того как эта макро-функция переводится ассемблером после компиляции.
Функция вообще может оказаться реализованной через 10 переключающихся одну в другую dll. Наверно через систему, наращивается, барахлит - и видимо сложно перекликается в ней. Т.е видимо обращается к системе и многосложно. А паррплельно эти же dll - кто-то использует, по принципу многозадачности. Добавлено через 4 минуты Такое и подобное, оно в виндоус программах развито сильно. А в Dos - может очень слабо присутствовать в масштабах долясекунд, и вероятно на провах эмуляции Dos программы - Windows системой.
0
|
|
|
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
|
|
| 01.07.2018, 08:25 | |
|
1
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 05.07.2018, 17:57 | |
|
Я кроме вашего "в натуре" - о ваших знаниях никогда не слышал.
От реализации асма - она может зависеть. Важно какую именно область адресов RAM-а она использует. Как именно использует регистры проца. Важно какая степень уневерсальности (логико-вместимости) этой команды. Т.е. какие именно данные и типы данных она может прокрутить в потенциале. Если она уневерсальная- значит и крутится она медленнее. Добавлено через 2 минуты Если она использует популярную область адресов. То эта область может использоваться паралельно другими процессами многозадачной ОС.
0
|
|
|
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
|
|||
| 05.07.2018, 18:19 | |||
|
От машинного кода в который функция компилируется, её производительность зависит сильно в меньшей степени, чем от алгоритма в этой функции реализованного. Компилятор может её код сколь угодно эффективно и оптимально перенести в процессорные инструкции, но если там какой-нибудь BOGO Sort, то эта эффективность ничего не будет значить. Добавлено через 1 минуту
0
|
|||
|
Нарушитель
|
|
| 05.07.2018, 18:35 | |
|
Как связан приведенный псевдокод с выводом:
K = 10 TIME = 6.534 sec K = 20 TIME = 41.32 sec K = 25 TIME =18m 41 sec = 1 121 sec K = 30 TIME = 9 h 54 m = 35 640 sec Приведенная функция влияет на К? Почему тестов только 4? Как вы вычислили TIME? Функция влияет на системное время? Ваша функция выполняется в одном потоке? Система многозадачная, псевдомногозадачная? Какая вообще логика в вашем вопросе?
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 05.07.2018, 20:06 | |
|
Функция вероятнее всего была однопоточная.
"К" - означает русский предлог "к". Т.е. ко стольки-то. TIME - означает ее выполнение по времени, затраченное время на выполнение функции. Цифра после "К" - количество произведенных холостых функций. Количество строк приведено для обозначения понимания загадочной прогрессии зависания. Т.к. задержки зависания возрастают прогрессивно. Добавлено через 7 минут Также сдесь "К" - может иметь и второй смысл: "Количество" (ammo). Для данного контекста оба смысла одинаково-октуально тождественны.
0
|
|
|
Заблокирован
|
||
| 05.07.2018, 23:46 | ||
|
Каждая последующая итерация будет вызывать функцию, которая ничего не выполняя вызывает следующую итерацию по циклу. Это может происходить до бесконечности, если, конечно переменная K не ограничена. В любом случае это начинает занимать оперативную память. И в итоге! А, что у нас в итоге? В итоге начнутся тормоза. Ну, и что вы хотели? Глупый код и глупый вопрос. Тупим дальше?
0
|
||
|
Нарушитель
|
|
| 06.07.2018, 01:38 | |
|
oplachko84, Сам по себе вопрос не глупый.
Может вопрос не верно задан, или сформулирован неправильно. То что run_dlx(); ничего не принимает и не возвращает совсем ничего не значит. Может она иметь доступ к внешним переменным, к глобальным переменным? Где описана сама функция? Мы этого не знаем. Для решения задачи у нас не достаточно информации. Andresgoro, Уточните вопрос, если хотите получить ответ. Возможно функция за счет оптимизации обращается к кешу процессора, тогда она должна будет выполняться быстрее. При нехватке ресурсов функция может работать с более медленной памятью, тогда она будет затрачивать больше времени. Но это только предположения. Вы же не уточнили и не ответили нам на вопросы. Добавлено через 38 минут Логические рассуждения: 1. Функция не находится в каком-то сферическом вакууме. Даже если вы просто написали функцию на бумаге- она уже имеет массу и движется, вращается вместе с Землей вокруг солнца. Более того она летит по воздуху по проводам и попадает на монитор компьютера. И это только написанная на бумаге функция. В терминах программирования, при любом языке программирования, функция выполняется в какой-то среде. То есть это какая-то система, среда исполнения и тд. 2. Она может потреблять какие-то ресурсы. 3. К ней обращаются какие-то ресурсы. Например система спрашивает функцию - ты еще жива функция? Отдай ресурсы. Функцию может опрашивать вирус. То есть мы можем предположить всё что угодно о такой гипотетической функции и влияет ли она на время.
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
||||||
| 06.07.2018, 16:45 | ||||||
|
Если в паскале задать следующее, то оно будет работать с той же прогрессией зависания и замедления работы цикла:
Добавлено через 3 минуты Что до функционирования пустого цикла, то правильность его функционирования может подвергаться сомнению. Добавлено через 9 минут Забыл добавить что код для длинных строк под Delphi. И в цикл надо вставить строку отсчета: x:= x+1;
0
|
||||||
| 06.07.2018, 16:45 | |
|
Помогаю со студенческими работами здесь
15
Анекдот про математическую логику - 9 задач. Язык С,программирование программирование циклических. язык С (СИ) Новый язык программирование ForceBasic Задача на динамическое программирование. Язык С Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|