Прошу немного помоч

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dimix
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 174
Зарегистрирован: 08.02.2005 (Вт) 22:47

Сообщение dimix » 14.03.2005 (Пн) 20:27

sashar2 писал(а):Насчет того что "а не просто смотреть на циферку и делать вывод - циферка больше, значит проц круче. " - я не думаю так.


Sashar2, упаси бог, я не имел ввиду тебя. Я имел ввиду людей, которые смотрят рекламу и верят, что "о производительности компьютера говорит логотип intel inside". И тех, кто с умным видом заявляет, что видяха с 256 Мб на борту круче, чем с 128 Мб.

Результаты будут. Постараюсь завтра огласить.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 15.03.2005 (Вт) 7:44

Просто сейчас я еще новичек и только начал что-либо делать, но сильно горю желанием написать что-нибудь уникальное что-ли, особенное. Вот подвернулась идейка с тестом, такого типа проги уже были, но именно с такой проверкой производительности, с находкой идентичного процессора и реализацией я вроде бы не видел. Короче у меня есть уйма энергии, которую хочу потратить. Думал выложить ее всю на ДиректИКС, но книжек подходящих не нашел, а жаль.

P.S>
Кстати интересно как в сандре проверяется процессор?

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.03.2005 (Вт) 10:02

sashar2
Инструкция CPUID. Ассемблерская есс-но.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 15.03.2005 (Вт) 17:36

Celeron у меня на старом ядре (название не помню). Помню только что это предпоследний, что ли, на этом ядре. А мамашка Гигабайтина на 815 чипсете. Память 133 Mhz на двух планках по 256.
Имхо, не самая быстрая система, но мне хватает.
Теперь по поводу процессов запущенных в системе.
Не думаю что Др. Веб сильно мешает тесту. Поэтому провожу тест на обычном комплекте запущенных процессов.

System Idle Process
System
SMSS.EXE
csrss.exe
winlogon.exe
services.exe
lsass.exe
Ati2evxx.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
spoolsv.exe
alg.exe
mdm.exe
outpost.exe
spidernt.exe
vmware-authd.exe
vmnat.exe
vmnetdhcp.exe
Explorer.EXE
Amoumain.exe
spidernt.exe
SPIDERML.EXE
CTFMON.EXE
cdslow.exe
Opera.exe
CPU Test.exe
WScript.exe
wmiprvse.exe


WScript.exe можно не считать. Я его запустил уже после теста.


Результаты теста
Время теста: 9 125
Результат: 235340674

Процессор идентичен:
Intel Pentium III 900Mhz
Intel Celeron 1000Mhz
Идентичного Athlon нет


Странно, теперь показывает 1000-ый селерон. Ты новую версию не выкладывал? Просто я после предыдущего теста удалил программу, а сегодня скачал новую и вот... показывает правильно.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 15.03.2005 (Вт) 18:23

Нет не выкладывал, просто тогда у тебя:
1) был загружен комп
2) результат сейчас немного выше, а этого может быть достаточно.
3) погрешность 5%

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 15.03.2005 (Вт) 18:44

Еще вот немного хотел спросить, но уже не в тему... Как скопировать файл, но по байтику каждому, допустим построчно скопировать файл это легко, а вот допустим картинку? Не надо мне предлагать просто FileCopy, мне это для других целей нужно.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 15.03.2005 (Вт) 23:17

Положи на форму TextBox и кнопку

Код: Выделить всё

Option Explicit

Private Sub Command1_Click()
    Dim fNum As Integer
    Dim Temp As Byte
    Dim Pos As Long
   
    fNum = FreeFile
    Open "C:\ntldr" For Binary As fNum
    Do While Not EOF(fNum)
        Pos = Pos + 1
        Get fNum, Pos, Temp
        Text1.Text = Text1.Text & Temp & vbCrLf
        Text1.SelStart = Len(Text1.Text)
        DoEvents
    Loop
    Close fNum
End Sub


Код явно не оптимален. Просто более нагляден. :)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 7:28

Если честно, то я тебя не понял... Причем тут TextBox и Button? И к чему этот код?

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 16.03.2005 (Ср) 8:18

2Sashar:Ах, да попробуй поставить вот это код для приоритера реального времени, чтобы ничто не мешало твоей проге:
Код: Выделить всё
    Const THREAD_BASE_PRIORITY_IDLE = -15
Const THREAD_BASE_PRIORITY_LOWRT = 15
Const THREAD_BASE_PRIORITY_MIN = -2
Const THREAD_BASE_PRIORITY_MAX = 2
Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)
Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)
Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
Const THREAD_PRIORITY_NORMAL = 0
Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
Const HIGH_PRIORITY_CLASS = &H80
Const IDLE_PRIORITY_CLASS = &H40
Const NORMAL_PRIORITY_CLASS = &H20
Const REALTIME_PRIORITY_CLASS = &H100
Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
Private Declare Function GetPriorityClass Lib "kernel32" (ByVal hProcess As Long) As Long
Private Declare Function GetCurrentThread Lib "kernel32" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
sub form_load()
SetThreadPriority hThread, THREAD_PRIORITY_TIME_CRITICAL
SetPriorityClass hProcess, REALTIME_PRIORITY_CLASS
end sub

И еще в опциях компилирования можеш поставить поставить всю оптимизацию, чтобы не было лишних проверок.
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 8:25

Вот! Спасибо тебе большое!!! Лучше поздно чем никогда :wink:.
Обалдеть, ты гений! :D
Короче вся производительность поднялась в два раза! Теперь у меня чуть ли не 1 000 000 000.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 8:31

Народ, теперь с определением процессора придется подождать до новых тестов! Уж извините, но тут новая версия, которая работает еще быстрей.
Вложения
CPU Test.rar
(8.33 Кб) Скачиваний: 22

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 8:33

Думаю она будет определять точнее, потому что в прошлой версии я заметил, что если запустить два раза программу, то она выдает почти один и тот же результат, а теперь нормально все! Так что качаем и говорим результаты в этот раз они должны быть точнее.
И так:
Intel Celeron 2500 Mhz - 930 миллионов.
Всех кроме меня попрошу говорить точные результаты!

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 8:37

GM
Думаю тебя просить объяснять не стоит, всеравно ответишь очень хорошо, но через несколько дней... Надо попробовать в справочнике найти на эту тему страничку, чтобы подробнее разобраться.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 8:55

Кажется я немного понял, только с нитями было не очень понятно....GM А можно узнать какие есть приоритеты? С реал тайми приорити я все понял, но не понял с:
SetThreadPriority hThread, THREAD_PRIORITY_TIME_CRITICAL
THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
THREAD_BASE_PRIORITY_LOWRT = 15
Вот все это пришло к числу 15, а какие еще есть приоритеты?

Кстати весь твой код не улучшает работу, если не поставить все галочки.

Пробовал ставить экспиременты и решил выставить вместо 15 число выше и получил плюс 15 миллионов, почему так вышло? Значит 15 это не предел?

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 16.03.2005 (Ср) 9:03

Сорри щас должен выходить с нету так что вот что первое нашел:
THREAD_PRIORITY_ABOVE_NORMAL
Indicates 1 point above normal priority for the priority class.
THREAD_PRIORITY_BELOW_NORMAL
Indicates 1 point below normal priority for the priority class.
THREAD_PRIORITY_HIGHEST
Indicates 2 points above normal priority for the priority class.
THREAD_PRIORITY_IDLE
Indicates a base priority level of 1 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 16 for REALTIME_PRIORITY_CLASS processes.
THREAD_PRIORITY_LOWEST
Indicates 2 points below normal priority for the priority class.
THREAD_PRIORITY_NORMAL
Indicates normal priority for the priority class.
THREAD_PRIORITY_TIME_CRITICAL
Indicates a base priority level of 15 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 31 for REALTIME_PRIORITY_CLASS processes.
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 9:10

Спасибо, теперь все ясно, впринципе в вашем примере установлено все правильно, выше я ставить не буду. Кстати скоро придется усложнять программу, потому что с такой производительностью тест выполняется за 2 секнунды т.е. если на машинах с 3000 мегагерц и выше запустить этот тест, то погрешность будет большая. Придется через некоторое время усложнять.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 10:04

sashar2 писал(а):Если честно, то я тебя не понял... Причем тут TextBox и Button? И к чему этот код?

TextBox и Button для наглядности. Т.е. в текстбокс по байтику выдаётся содержимое файла.
Ты ж ведь хотел читать файл по байту?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 10:07

sashar2
По поводу новой версии
Время выполнения: 7172
Результат: 299426052

Ваш процессор идентичен:
Intel Pentium
Intel Celeron
AMD Athlon


А где частоты?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

dimix
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 174
Зарегистрирован: 08.02.2005 (Вт) 22:47

Сообщение dimix » 16.03.2005 (Ср) 13:36

Дык, без частот еще и круче! У пользователя не будет претензий, что не совпало с реальной частотой. Предлагаю вообще упростить до вывода фразы "Ваш процессор идентичен". :D

Sashar2, а как на счет двухпроцессорных систем?

И еще. Мне кажется, что особого смысла определять идентичность и нету. Может быть, лучше просто выдавать результат в некоторых у.е. (например: у вас 23264547656 сашаров) и сообщать о ближайших соседях из статистической таблицы? Тогда пользователь будет знать, что его проц "сделал" такого-то проца, но проиграл такому-то. А еще лучше, поместить строку с результатом в соответствующее место общей таблицы и выделить ее цветом, чтобы пользователь мог провести сравнение со всеми процами, приведенными в таблице. ИМХО, это будет интереснее, ведь пользователь и сам знает, что у него за проц, а так он сможет еще и узнать, на что его проц способен. А?

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 13:47

Ruslan Demidow
1) Побайтно я уже разбрался, так что спасибо не надо. Теперь мне предстоит с сетью разобраться, имею ввиду WinSock.
2) Почему такой маленький результат? Получается сильный прирост только у мощных систем?
3) Нету, потому что у тебя бы выдало 3 гигагерца, а зачем такое надо? Вот я и убрал пока, у меня же нет новых результатов, а старые не походят.
dimix
1) "на счет двухпроцессорных систем" я считаю, что пока еще рано думать, да и нету таких тестов у меня :). Вот например у тебя дома такие системы стоят? Если да, то будь добр одолжи результаты.
2) Насчет этого ты хорошо сказал, так можно сделать. В следующем топике сообщении выкладываю прогу без "иднетичности".
3) Единицы надо придумать... конечно можно сашары.... :D

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 13:53

Выкладываю новую версию, так же прошу высказать свои предложения насчет единиц, и мне кажется надо результат тогда выводить в миллионах, а не в таких больших цифрах, вам так не кажется?

И еще насчет dll файлов, вот если разместить их в папке с прораммой, то они будут работать? Или надо их в сиситем кидать или еще куда? Это я к тому, чтобы не пользоваться стандартной запаковывалкой, она хоть и хорошо работает, но требует перезагрузки. Просто я из-за этого не могу свободно распространять программу. Помогите с этим пожалуйста!
Вложения
CPU Test.rar
(8.05 Кб) Скачиваний: 24

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 14:03

sashar2 писал(а):Ruslan Demidow
1) Побайтно я уже разбрался, так что спасибо не надо. Теперь мне предстоит с сетью разобраться, имею ввиду WinSock.
2) Почему такой маленький результат? Получается сильный прирост только у мощных систем?
3) Нету, потому что у тебя бы выдало 3 гигагерца, а зачем такое надо? Вот я и убрал пока, у меня же нет новых результатов, а старые не походят.

1. По WinSock'у - это к гуру нашего форума. :)
2. Не знаю. Маленький и всё. Я, вообще-то, уже лет пять как не запускаю на своём компьютере никакие тесты для выявления производительности - зачем? Работает? Скорости хватает? Ну и ладненько... :wink:
3. Тогда уж совсем без частот и названий процессоров.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 14:07

sashar2
По новой версии.
Время выполнения: 4688
Результат: 458080983


Пожелание можно? Сделай вывод результатов в текстовое поле, а то очень задалбывает переключаться между окнами и по три-четыре цифры вводить в окно. Легче ведь сделать Copy-Paste. :)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 16.03.2005 (Ср) 14:15

Просто после программы делай Паст, результат в буфере

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 14:19

Qubicz
Ясно. Но я бы продублировал....
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 14:19

Qubicz
Ты прав :D.

Ruslan Demidow
Странно, что ты еще не догадался :D.
Эх, вот теперь результат у тебя хороший. Если будет больше, говори!

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.03.2005 (Ср) 14:26

sashar2
А я не должен догадываться. :)
Если бы я в своей программе делал - я бы обязательно указал бы что результат есть уже лежит в буфере обмена. Или, что ещё лучше - сделал бы текстовое окно.

А результат всё тот же. Только что запустил.
Время выполнения : 4766
Результат : 450584064
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 16.03.2005 (Ср) 14:32

2563/788356699
А может выводить как 307591
(788356699\2563)=307591
(788356699/2563)=307591,37690206788919235271166602

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 16.03.2005 (Ср) 14:59

Ruslan Demidow
А у меня программа еще на бета тестировании :P, в полной версии обязательно сделаю!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 16.03.2005 (Ср) 17:54

712030387
Моду создают модоки, а распространяют модозвоны.

Пред.След.

Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 187

    TopList