Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Занятость процессора


Автор: neic 8.5.2010, 01:26
Вот стало интересно.

Допустим есть компьютер с 4 ядерным процессором. Я запускаю цикл по генерации списка 32000 единиц:
Код

For i = 1 to 32000
      List1.AddItem i
Next

ну или другую большую вычислительную задачу.

Какое кол-во процессоров будет загружено? 1 или все 4 по-маленьку?
Или же нужно переходить на VB.NET и юзать там потоки (или он сам все равномерно распределяет?)?

Просто я не могу это протестировать, т.к. сижу на старом проце.

Я когда-то задавал вопрос про многопоточность (на VB6), но пришли к выводу с Akkina, что это если и возможно, то очень запарно.
На момент написания этого сообщения наткнулся на страничку где в качестве многопоточности используют Sleep, для меня кажется это жестким и не грамотным решением.

Автор: ~FoX~ 8.5.2010, 12:10
neic, В большинстве случаев нагрузку распределяет система... Рулить потоками на уровне раздачи нагрузки процам на ВБ конечно можно, но во первых это чистое АПИ, во вторых отладка этой прелести реальный геморой...

Автор: neic 8.5.2010, 18:13
~FoX~
Т.е. можно не запариватся в распределении нагрузки?

Вот запустил я цикл, в цикл вставил мат формулу и добавление в список полученого значения.
Мой проц P4 с технологией HT (1 физ ядро, 1 вирт ядро), когда я запустил прогу, нагрузилось 2 ядра (1физ+1вирт). И дошло примерно до 60% (на обоих).

Как будет это выглядеть допустим на:
1) 2ух физических - 2 ядра по 30-50%?
2) 4ех физических - 4 ядра по 20-40%?
3) 4ех физических и 4 виртуальных - 8 ядер (4физ+4вирт) по 20-30%?

или тупо будет грузится 1 ядро?

Мне этот вопрос важен.

С учетом что прога написана на VB6.

Автор: ~FoX~ 8.5.2010, 21:46
neic, Еще раз...Этим занимается система... На данный момент очень малое количество программ занимается оптимизацией на несколько ядер.... У каждой из них есть собственный, достаточно сложны, алгоритм оптимизации.... Писать такие вещи на вб6, по факту, весьма не просто... Переходи на Си, дот нет, или что то более приспособленное...

Автор: neic 9.5.2010, 10:20
~FoX~
Все я понял. Спасибо. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)