К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Новый бенчмарк (работа с таблицами) - тестируем!

Гость
0 - 17.07.2016 - 15:59
Noile Bench Forms 1.0 - скачать:
https://cloud.mail.ru/public/7HKp/fFDLnPBTi

Бенчмарк эмулирует работу с большими таблицами: заполнение данных, сортировка, сворачивание строк, изменение размеров таблицы.

Задействуются только мощности процессора, видеокарта в этом не участвует. Количество оперативной памяти не важно. Программа работает только в однопоточном режиме.



Гость
1 - 17.07.2016 - 16:00
Пара результатов (все в стоке, без разгонов).



2 - 17.07.2016 - 16:28
Квад 2,66 Ггц
[img]<a target="_blank" href="http://fastpic.ru"><img src="http://i79.fastpic.ru/big/2016/0717/50/512b2a3de395a0c412a16949033a0250.jpg" border="0"></a>[/img]
3 - 17.07.2016 - 16:29
[img][/img]
Гость
4 - 17.07.2016 - 16:49
3-miher > а версия windows какая?

скорее всего, отрисовка окон зависит от версии Windows. Нужно будет добавить информацию в результаты.
Гость
5 - 17.07.2016 - 17:05
Windows 7

Процессор - Pentium(R) Dual-Core CPU E5400 @ 2.70GHz
Количество ядер - 2, виртуальных ядер - 2

Заполнение таблицы - 4,24 сек.
Сортировка колонок - 2,64 сек.
Сворачивание текста - 7,88 сек.
Прокрутка строк - 8,44 сек.
Изменение размеров программы - 7,13 сек.
Общее время выполнения - 30,92 сек.
6 - 17.07.2016 - 18:47
4-Noile > ХР
Гость
7 - 17.07.2016 - 18:49
Ксеоны на данной задаче показывают отличные результаты. Возможно, из-за того, что у них нет встроенной в процессор видеокарты и изображение выводится внешней видяшкой на чипсете. Точно не уверен.
Гость
8 - 17.07.2016 - 20:04
Короче, разобрался:

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

При этом все графические эффекты windows отключает (плавная прокрутка, отображение содержимого окон при изменении размера, сглаживание шрифтов и т.д.).

Тестите, только когда настройки включены по умолчанию. По крайней мере, я так тестил.
9 - 17.07.2016 - 20:29
У меня не Ксеон )) Это утилита тупая, обозвала мой Core2 Quad Q9450 Пентиумом3, да ещё Ксеоном )))
10 - 17.07.2016 - 20:39
7-Noile > Тут дело не в видяхе, я думаю, а в кеше. На моём Q9450 таки 12 Mb. На настоящих Ксеонах )) наверняка будет так же...
Гость
11 - 17.07.2016 - 20:58
9-miher > утилита лишь читает то, что у тебя написано в windows про процессор:

root\\CIMV2", "SELECT * FROM Win32_Processor";
queryObj["Name"]
queryObj["NumberOfCores"]
Гость
12 - 17.07.2016 - 20:59
10-miher > попробуй графические эффекты выставить по умолчанию. Тогда у тебя время будет в районе 25 - 30 секунд, скорее всего.
13 - 17.07.2016 - 21:34
Всё включил, по умолчанию, все пункты.
Гы )) Ещё лучше.
[img][/img]
14 - 18.07.2016 - 20:38
Гость
15 - 18.07.2016 - 21:52
16 - 18.07.2016 - 23:25
Гм! Уже вторую ветку тихо удивляюсь: и не стрёмно народу запускать EXE-шник, созданный незнамо кем, незнамо с какими целями и незнамо что в себе содержащий.

Впрочем, дело хозяйское...
Гость
17 - 19.07.2016 - 04:41
16-Ткачик > ну, можно прогнать на вирусы на virustotal, если что. А как люди с торрентов игрушки качают сотнями? Вот там реально большой шанс встроенной заразы.
Гость
18 - 19.07.2016 - 22:33
17 Noile
Ты сам прогу писал? Что то я вижу явную не состыковку. Мой проц на изменение размеров программы ложит всех на порядки. Неужели в этом заключается его плюс?
Гость
19 - 19.07.2016 - 22:59
18-AviatorABC > ну, по названию видно, что сам писал.

Судя по тому, что у тебя прокрутка строк за 0,13 секунды, у тебя используется упрощенная графика в настройках быстродействия windows.

Выстави настройки по умолчанию и у тебя будет общее время выполнения > 30 сек.
Гость
20 - 19.07.2016 - 23:31
19 Noile
У меня все по умолчанию, я эту винду (64) установил лишь из-за одной игры. Но в итоге накидал в нее весь свой джентльменский набор программ. Так чта... сомнения остались. А 0.13 это у парня выше
Гость
21 - 19.07.2016 - 23:38
Здесь, все-таки, быстродействие сильно зависит от настроек графики и версии винды. Я просто не ожидал, что люди на современных процах заходят в настройки системы и отключают там галочки для повышения быстродействия прокрутки. Сам не пользуюсь этими опциями со времен 4-го пентиума.
Гость
22 - 19.07.2016 - 23:43
21 Noile
Графика у меня вообще отстой - 8500GT - назвать это графикой в приличном обществе... сам понимаешь ))
Гость
23 - 20.07.2016 - 07:18
22-AviatorABC > тест написан на Windows Forms. По идее, видеокарта не должна участвовать. Я имею в виду, что в настройках Windows убрана куча пунктов типа "гладкое прокручивание списков", "сглаживание экранных шрифтов", "отображать содержимое окна при изменении размера" и т.д.

Если отключить данные настройки, то тест проходится намного быстрей. Я тестировал просто при настройках по умолчанию.
24 - 20.07.2016 - 08:01
23-Noile > все по умолчанию.
Гость
25 - 20.07.2016 - 08:02
Хороший троянский биткоин-майнер. Запускайте Noile virus, господа ))
Гость
26 - 20.07.2016 - 08:38
25-Манчкины круче такс > за слова ответишь? Не нужно флудить.
Гость
27 - 20.07.2016 - 08:40
Еще хочу написать бенчмарк для HDD/SSD. А именно - тестирование в разных режимах: однопоточные/многопоточные запись и чтение файлов разных размеров.
Потом выложу.
28 - 20.07.2016 - 13:18
25-Манчкины круче такс >
https://www.virustotal.com/ru/file/1...is/1469009614/
29 - 24.07.2016 - 13:11
28-ka618 >
Гость
30 - 24.07.2016 - 15:13
29-Sages > господи, да нет там никаких вирусов. Могу исходный код программы дать - скомпилируешь из-под вижуал студии и получишь такой же exe-шник.

Сейчас этих антивирусов больше 60 штук. Из них всегда 1 - 2 будут считать программу за вирус. По ссылке это четко видно:
https://www.virustotal.com/ru/file/1...is/1469009614/
Гость
31 - 24.07.2016 - 15:17
Более того! Программа написана на c# без какой-либо защиты или обфускации.

Ее можно посмотреть изнутри с помощью reflector:
http://www.red-gate.com/products/dot...ent/reflector/

Посмотри код программы, если такой мнительный :)
Гость
32 - 24.07.2016 - 15:20
Или с помощью: http://ilspy.net/
Гость
33 - 24.07.2016 - 15:30
Исходный код. Проверь exe-шник с помощью IlSpy - там такой же код.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Management;
using System.Management.Instrumentation;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace benchmark_tables
**
public partial class Form1 : Form
**
string HomeDir = Application.StartupPath;

public Form1()
**
InitializeComponent();
**

private void button2_Click(object sender, EventArgs e)
**
this.Text = "Прогрев процессора (5 секунд)";
tabControl1.SelectedIndex = 0;

dataGridView1.Rows.Clear();
dataGridView1.Columns[0].Visible = true;
dataGridView1.Columns[1].Visible = true;
dataGridView1.Columns[2].Visible = true;
dataGridView1.Columns[3].Visible = true;
dataGridView1.Refresh();

this.Height = 750;
this.Width = 1024;

var source = new CancellationTokenSource();
for (int i = 0; i < Environment.ProcessorCount; i++)
new Thread(Function).Start(source.Token);

Thread.Sleep(5000);
source.Cancel();

StringBuilder sb = new StringBuilder();

ManagementObjectSearcher searcher8 = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");

foreach (ManagementObject queryObj in searcher8.Get())
**
sb.Append("Процессор - " + queryObj["Name"] + "\r\n");
sb.Append("Количество ядер - " + queryObj["NumberOfCores"] + ", ");
**
sb.Append("виртуальных ядер - " + Environment.ProcessorCount.ToString());

textBox2.AppendText("\r\n" + sb.ToString() + "\r\n\r\n");

DateTime dt3 = DateTime.Now;

DateTime dt1 = DateTime.Now;

this.Text = "Заполнение таблицы по одной строчке (10 тыс. строк)";
textBox2.AppendText("Заполнение таблицы - ");

for (int i = 0; i < 10000; i++)
**
dataGridView1.Rows.Add(i.ToString() + " строка", i.ToString() + " строка", i.ToString() + " строка", i.ToString() + " строка", i.ToString() + " длинный текст, который не помещается на одной строке и должен будет сворачиваться и разворачиваться, замедляя процессор");

if (i % 400 == 0)
dataGridView1.Refresh();
**

dataGridView1.Refresh();


DateTime dt2 = DateTime.Now;

var isec1 = Math.Round((dt2 - dt1).TotalSeconds, 2);
string sec = isec1.ToString();
textBox2.AppendText(sec + " сек.\r\n");

this.Text = "Сортировка колонок";
textBox2.AppendText("Сортировка колонок - ");

dt1 = DateTime.Now;

dataGridView1.Sort(Column1, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column2, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column3, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column4, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column5, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column1, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column2, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column3, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column4, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column5, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column1, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column2, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column3, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column4, ListSortDirection.Ascending);
dataGridView1.Refresh();
dataGridView1.Sort(Column5, ListSortDirection.Descending);
dataGridView1.Refresh();
dataGridView1.Sort(Column5, ListSortDirection.Ascending);

dt2 = DateTime.Now;
isec1 = Math.Round((dt2 - dt1).TotalSeconds, 2);
sec = isec1.ToString();
textBox2.AppendText(sec + " сек.\r\n");

this.Text = "Сворачивание текста";
dt1 = DateTime.Now;
textBox2.AppendText("Сворачивание текста - ");


dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
for (int i = 1; i < 20; i++)
**
dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView1.Refresh();
dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.False;
dataGridView1.Refresh();
**

dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView1.Refresh();

dt2 = DateTime.Now;
isec1 = Math.Round((dt2 - dt1).TotalSeconds, 2);
sec = isec1.ToString();
textBox2.AppendText(sec + " сек.\r\n");

this.Text = "Прокрутка строк";
textBox2.AppendText("Прокрутка строк - ");
dt1 = DateTime.Now;


try
**
while (true)
**
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.FirstDisplayedScrollingRowIndex + 200;
dataGridView1.Refresh();
**
**
catch ** **

dt2 = DateTime.Now;
isec1 = Math.Round((dt2 - dt1).TotalSeconds, 2);
sec = isec1.ToString();
textBox2.AppendText(sec + " сек.\r\n");

dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[1].Visible = false;
dataGridView1.Columns[2].Visible = false;
dataGridView1.Columns[3].Visible = false;
dataGridView1.Refresh();


this.Text = "Изменение размеров программы c обновлением интерфейса";
textBox2.AppendText("Изменение размеров программы - ");
dt1 = DateTime.Now;

this.MinimumSize = new Size(0, 0);

while (this.Size.Width > 420)
**
this.Width -= 10;
this.Refresh();
**


while (this.Size.Height > 340)
**
this.Height -= 10;
this.Refresh();
**


dt2 = DateTime.Now;
isec1 = Math.Round((dt2 - dt1).TotalSeconds, 2);
sec = isec1.ToString();
textBox2.AppendText(sec + " сек.\r\n");

this.Text = "Готово!";

DateTime dt4 = DateTime.Now;
isec1 = Math.Round((dt4 - dt3).TotalSeconds, 2);
sec = isec1.ToString();
textBox2.AppendText("Общее время выполнения - " + sec + " сек.\r\n");

tabControl1.SelectedIndex = 1;

this.Text = "Noile Bench Forms 1.0 (отрисовка таблиц)";
**

static void Function(object obj)
**
var token = (CancellationToken)obj;
while (!token.IsCancellationRequested)
**

**
**

private void button3_Click(object sender, EventArgs e)
**
Bitmap scr = getControlScreenshot(this);
scr.Save(HomeDir + "/результаты.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
try
**
Process.Start(HomeDir + "/результаты.jpg");
**
catch ** **
**

public Bitmap getControlScreenshot(Control c)
**
Bitmap res = new Bitmap(c.Width, c.Height);
c.DrawToBitmap(res, new Rectangle(Point.Empty, c.Size));
return res;
**
**
**
Гость
34 - 24.07.2016 - 15:31
Вместо звездочек - угловые кавычки.
35 - 25.07.2016 - 12:54
34-Noile >воу, чувак, полегче, нафиг тут эта непонятная простыня? есть две сработки, этого достаточно. Раз ты нии..цо крутой прогер, сделай так, чтоб их не было :)
Гость
36 - 25.07.2016 - 13:31
Сработки из-за этого кода, скорее всего:

ManagementObjectSearcher searcher8 = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");

Т.е. лезет в root, чтобы узнать марку процессора. Некоторые вирусы могут использовать тот же код, поэтому и есть срабатывание.

2 срабатывания из 56 - это мелочи. Практически любую программу прогони - там будут срабатывания.
Гость
37 - 27.07.2016 - 16:06
Цитата:
Сообщение от Sages Посмотреть сообщение
Раз ты нии..цо крутой прогер, сделай так, чтоб их не было :)
ну вот, привели неведомо какую программу с неведомо какими-то таблицами. Что с чем сравнивать?
Гость
38 - 28.07.2016 - 02:01
Блин, втут вообще есть челы читающие на С? По моему втут есть косяк. Но где он ссуко, не могу найти.
39 - 28.07.2016 - 21:08
37-x0577216 >вы про антивирь? дык это панда бесплатная. понятно, что параноидальная там где не надо, но как бесплатная - очень даже приятная.


К списку вопросов






Copyright ©, Все права защищены