Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 71 • Страница 1 из 41  2  3  4  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 10.10.2005
Откуда: Н. Новгород
Немного еще заоптимизировал ранее предложенный в ветке "Агент Смитфилд против МатриХ2" алгоритм, а также сделал выгрузку резалтов в файл.

экзешники лежат здесь.

Для справки: Решето Эратосфена - простейший алгоритм поиска простых чисел, в базовом виде звучит(своими словами) как 1)вычеркнуть все числа, делящиеся на 2, то есть счетчик = 4, вычеркиваем четверку, счетчик +2, вычеркиваем шестерку и т.д.
2)прибавить к основанию единицу, то есть получаем 3 и вычеркиваем 6,9,12 и т.д.
3) повторяем до опупения.
все невычеркнутые числа - простые

Оптимизации которые я применял
1) брать за основание 4 ни к чему, все что делится на 4 было вычеркнуто при проходе на 2, то есть за основание берем только простые числа, то есть те числа, что вычеркнулись в предыдущих проходах за основание не берем
2) при основании например 7, вычеркивать 14 смысла не имеет, т.к. оно вычеркнулось при проходе на 2, 21 - при проходе на 3 и т.д. на все предыдущие простые числа, то есть начинать вычеркивать можно не с (основание*2) а с (основание в квадрате)
3)так как все простые числа являются нечетными и их квадраты соответственно тоже нечетны, то начиная с 3, вычеркивать можно не каждое число а через одно, то есть прибавляя каждый раз не по 3 а по 6, то есть при проходе на 3 вычеркивается 9,15,21 и т.д. вместо 6,9,12,15,18,21 и т.д.

это не все оптимизации, только наиболее просто реализуемые и более всего ускоряющие выполнение

как пользоваться
1) внести в окошко предел рассчета и нажать "Go"
2) резалты - сверху время в секундах, снизу кол-во найденных простых
3)если хотите получить файл с резалтами поставьте галочку "Save" до запуска.
ну или запустите еще раз ;)

Заметки
1)Прога считает в 2 потока, то есть гипертрединг на пнях а так же двуядерность должны давать нехилое ускорение.

2)на месте Label5 во время рассчета отображается текущее простое, которое используется как основание, отображается само собой не на каждом проходе
ProgressBar(синяя полоска) отображает прогресс не по времени прошло/осталось а всего лиш прикидку(т.н. estimation), работает не очень точно, но не хочется тратить время на эту мелочь :) , ну и заодно чтоб показать что прога не повисла :)

3)в архиве 2 ехешника, разница между ними только в том, что erato32 использует в качестве счетчиков unsigned __int32, а erato - __int64, то есть можно заценить какую примерно разницу даст перекомпилирование под 64 битную ос. правда заценить можно только на больших пределах, миллиарда 2 и выше, на низких пределах erato32 упирается в скорость памяти

4)как бенчмарк разумеется использовать нужно erato.exe, поскольку erato32 ограничена пределом рассчета 4 млрд по объективным причинам, и пользоваться им имеет смысл только для информации :)

5)Гонять имеет смысл с пределом 2млрд для тех у кого 512 памяти (займет 250 мег в оперативке)
у кого гиг памяти - 6 млрд(750метров)
2 гига - 12млрд(1.5 гига)

6) 15485864 стоит по умолчанию - это предел для нахождения первого миллиона простых чисел, миллионное простое - 15485863


Сам я пока потестил только на Athlon64 3000+ (1.8ГГц), дома погоняю на своем и выложу резалты позже.

Очень хотел бы увидеть резалты двуядерных пней, и пней с гипером, а также на них же резалты для меньших пределов, чтоб можно было сравнивать, т.е. если есть гиг памяти потестить для 6 и 2 млрд.

Также хотел бы увидеть тот же резалт с Affinity на один проц, чтоб оценить какой прирост дает второе ядро и гипер

Резалт на Athlon64 3000+ (1.8ГГц) с 512 метрами памяти
__int32 версия
15485864 - 0.266сек
200млн - 3.203сек
2млрд - 34.844сек
__int64 версия
15485864 - 0.375сек
200млн - 4.953сек
2млрд - 55.812сек

разумеется в зачет из вышеприведенного только самый последний резалт -

2млрд - 55.812сек

_________________
Зовите меня просто 45194


Последний раз редактировалось B08AH 09.12.2005 12:15, всего редактировалось 1 раз.


Партнер
 

Member
Статус: Не в сети
Регистрация: 10.10.2005
Откуда: Н. Новгород
Результат на Athlon64 X2 4400+ @2.7
*15485864 - 0.125сек
*200млн - 2.219сек

2М - 24.484сек
6М - 78.765сек
12М - 165.719сек

Кстати на 2М от второго проца прирост только 50%(время в 1.5 меньше), а на 6 и 12 вообще 30%, получилось весьма зависимым оно от памяти. Сдается мне, что на пнях оно лучше будет работать.
Поисследовал также проц с частотой 1.2 и память 244(488) прирост от второго ядра достиг 72%

_________________
Зовите меня просто 45194


 

Member
Статус: Не в сети
Регистрация: 10.07.2004
Фото: 14
B08AH Прям супер пи новый :)

Прогнал erato :

FX57 @ 3068MHz , 1.45V , 236x13.0
4x512Mb , 192MHz @ 2.0-2-2-5-2T @ 3.3V

2M : 36.234
6M : 107.484
12M : Выдало ошибку и не захотела запустится :?: :oops:

_________________
Нативный Индеец


 

Member
Статус: Не в сети
Регистрация: 04.02.2004
Откуда: Москва|СВАО
Чего то я не совсем понял что там (тут) происходит? Откуда берутся
Gorod писал(а):
2M : 36.234
6M : 107.484


У меня только 15485864. Зачем два файла "erato" и "erato32"
прогнал на рабочем ПК = P4-1.8|1024 DDR200| и т.п.

*15485864 - 0.453сек (erato)
*15485864 - 0.36сек (erato32)
*200 000 000 - 5.64
*200 000 000 - 4.578
Смотрю на ваши результаты - однако, как техника шагнула....

_________________
Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).


 

Member
Статус: Не в сети
Регистрация: 10.07.2004
Фото: 14
Peter_P

2M вроде как я понял , если не ошибаюсь конечно , что это 2.000.000.000 :) Ух уж эти нолики ... :insane: :)
ЗЫ , запускал простой Erato а не Erato32 , вроде в простом надо мерить если ничего не напутал

Цитата:
4)как бенчмарк разумеется использовать нужно erato.exe, поскольку erato32 ограничена пределом рассчета 4 млрд

_________________
Нативный Индеец


 

Member
Статус: Не в сети
Регистрация: 10.10.2005
Откуда: Н. Новгород
Цитата:
Выдало ошибку и не захотела запустится
бывает, возможно я неправильно память выделяю или это ограничение уже или компилятора борландовского или самой винды - не дает выделить одной командой new много памяти, да и с delete[] тож раньше косяки были :oops:
на яву пора переходить :roll:

_________________
Зовите меня просто 45194


 

Member
Статус: Не в сети
Регистрация: 04.02.2004
Откуда: Москва|СВАО
Gorod А где Вы эти настройки поставили? Или Вы просто руками их ввели?
Gorod писал(а):
2.000.000.000
- однако - 52.688 секунды
Gorod писал(а):
2M

Gorod писал(а):
6M

Оставим до обеда, а то на меня коллеги и так странно косятся...

_________________
Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).


 

Member
Статус: Не в сети
Регистрация: 10.10.2005
Откуда: Н. Новгород
заменил ехешник, теперь там есть кнопочки, сразу ставят нужное число :)

_________________
Зовите меня просто 45194


 

Member
Статус: Не в сети
Регистрация: 21.11.2005
Откуда: kuznya
P4 3.0@3.93 2*512 DDR400@524 2.5 3 3 5

2M: 38.547


 

Member
Статус: Не в сети
Регистрация: 02.09.2004
что за глюк.. не могу скачать (ни один) файл.. со странички.. :bandhead:


 

Member
Статус: Не в сети
Регистрация: 02.08.2005
Откуда: Вологда
AMD Athlon 64 (Venice) @ 2750
DDR400@460 3-3-3-7 1T

2M: 38.25

_________________
We all die (c)


 

Member
Статус: Не в сети
Регистрация: 25.08.2005
конфиг - ниже. (2500Mhz, DDR500 7-3-3-2.5)

erato.exe:
2M - 24.344
6M - 78.875

12M дает ошибку.
кxм... станно. erato32.exe pаботает, и 12М сделало за 31.625sec...


B08AH
Давайте потестим 64-битную веpсию!
Если не на чем скомпилиpовать - у меня есть, могу сделать. только исxодники надо.

_________________
Athlon 64 x2 4200+ (@2500=250x10) **
Gigabyte K8NS 939-Ultra ** 1 Gig DDR500 7-3-3-2.5 2x80GB ** Maxtor (PATA RAID0) ** Radeon X800XL


Последний раз редактировалось 1st SEA 09.12.2005 19:36, всего редактировалось 2 раз(а).

 

Advanced member
Статус: Не в сети
Регистрация: 10.03.2003
Откуда: Сочи
Фото: 0
Gorod Побойся бога, не позорь свой фх - вытащи ты ради бенчинга 2 планки, и оставь с 1Т;)

Athlon 64 (Venice E6) @ 2700Mhz
2*1Gb DDR400@540 3-3-3-7 1T

#77


 

Member
Статус: Не в сети
Регистрация: 08.06.2004
Откуда: Украина, Донецк
2m - 41,234 пень 3.3 где -то! Не помню. С разгоном конечно )

_________________
3DMark 2001SE - 71k http://service.futuremark.com/compare?2k1=9252308
http://valid.x86-secret.com/show_oc.php?id=238415


 

Member
Статус: Не в сети
Регистрация: 12.05.2005
Откуда: Питер
2M - 86.422 CelD 310@2.48GHz. Другое не тестил, так как памяти только 768М.

_________________
Более мощный компьютер глючит быстрее и точнее.


 

Member
Статус: Не в сети
Регистрация: 21.04.2005
Откуда: Москва
Фото: 57
Sempron 2800+@2400 2x256@150мгц ;) 2,5-3-3-7 1T
erato.exe
2M - 60.515 :)
15485864 - 0.359

erato32.exe

15485864 - 0.297
2000000000 - 44.922


 

Member
Статус: Не в сети
Регистрация: 05.06.2005
Откуда: Н. Новгород
Фото: 0
О как! Чем люди занимаются!
B08AH
А собственно, бенчмарк чего создавался? Проца или памяти? За минуту заюзать всю имеющуюся оперативу... кхм-м...
Кстати, любопытно просто: написан на cbuilder?


 

Member
Статус: Не в сети
Регистрация: 02.09.2004
мда, в утиль...
#77


 

Member
Статус: Не в сети
Регистрация: 12.05.2005
Откуда: Питер
Потестил на P4 3.2@3.6 RAM - 2x512Mb

2M - 42.938
6M - 143.532

_________________
Более мощный компьютер глючит быстрее и точнее.


 

Advanced member
Статус: Не в сети
Регистрация: 08.11.2003
Откуда: Москва
Фото: 77
Потестил на X2 3800+@2500MHz + Samsung UCCC 2x1gb 3-4-4-8 (норм пока что не занимался памятью, завтро займусь)
2M - 30.187

_________________
Калибровка мониторов в Москве - все вопросы в личку.
Автор статей. Имейте совесть! Всё что знаю - рассказываю в своих материалах :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 71 • Страница 1 из 41  2  3  4  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: murkok5 и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan