| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Скорость работы 3 потоков |
| Автор: Garmahis 11.10.2016, 17:10 |
| В приложенном проекте есть thread, который свою работу выполняет за 2 секунды, если он запущен один (Delphi 7, i5 3,3 GHz 8Gb). Если запустить их 3, то время работы каждого увеличится до 12 секунд. Если запустить 3 копии приложения в каждом из которых будет работать 1 поток, то время работы потока останется в районе 2с. Требуется заставить 3 потока в одном приложении работать со скоростью 2с. Уже потерял всякую надежду и планирую использовать несколько процессов. Время работы потоков пишется в файлы c:\thread_*.txt Кто сможет заставить 3 потока работать со скоростью одного ? |
| Автор: kami 11.10.2016, 22:01 |
Минус вам. Виртуальный. За: 1. Спихивание на других своей задачи. Допустим, много кто на форуме сможет. Но кому это надо? 2. Плохо разобранная проблема. А вернее - вообще не разобранная. Код не документирован, с использованием указателей (зачем? Вы работаете в D3 - D7?), кучей непонятных вычислений (думаете, кому-то будет интересно разбирать это всё?), объявления массивов на 380 метров (вы не слышали о динамических массивах? и о дженериках?) при использовании только 100 кб... В общем, даже начало чтения кода уже снижает желание помочь до минимума. P.S. Резко? Возможно. Но какая постановка вопроса - такой и ответ. Спасибо, хоть не "ну-ка быстро всё бросили и сделали так, чтобы код работал так быстро, как мне надо". |
| Автор: DYUMON 12.10.2016, 06:48 |
| ошибка в 16 строке Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Skorost-raboty-3-potokov-id57fcf332adbd5f329b7a0782#findElement_E7045_57fdb28986c4c506c92a6341_0 |
| Автор: dnek 12.10.2016, 13:08 | ||||
Попробуйте повысить приоритет Вашего процесса:
или повысить приоритет потока
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Skorost-raboty-3-potokov-id57fcf332adbd5f329b7a0782#findElement_E7045_57fe0b9986c4c50f074e9eef_0 |
| Автор: Garmahis 13.10.2016, 10:21 |
| dnek, большое спасибо! Я разобрался kami, вас никто не заставляет никому помогать. Поэтому не стоит писать если у вас нечего сказать по делу. |
| Автор: kami 14.10.2016, 18:47 |
Я говорил именно по делу. Прежде чем написать - я скачал ваши исходники и попробовал разобраться. Несмотря на явно приказной (вернее "на слабо") тон в постановке вопроса. Обратите внимание, что счетчик скачиваний = 1, т.е. я единственный, кто вообще прикоснулся к вашим исходникам. Только после поверхностного анализа структуры приложения я понял, что глубже лезть и искать причину нет смысла. О чем и написал. На всякий случай - переформулирую: если вы хотите помощи - обращайтесь именно за помощью. Показывая при этом, что вы сами сделали для решения проблемы. Дабы помогающие видели - вы не халявщик, просто в данном аспекте не хватает знаний. Прикладывая не тонну своего кода а-ля "разгребите тут всё", а минимальный воспроизводимый пример. В исходной постановке ваш вопрос расценивается именно как сообщение от халявщика, который уверен, что все вокруг ему должны. Кстати, предложение dnek, мягко говоря, не особенно то и хорошее. |