![]() |
Новый бенчмарк (работа с таблицами) - тестируем! Noile Bench Forms 1.0 - скачать: [url]https://cloud.mail.ru/public/7HKp/fFDLnPBTi[/url] Бенчмарк эмулирует работу с большими таблицами: заполнение данных, сортировка, сворачивание строк, изменение размеров таблицы. Задействуются только мощности процессора, видеокарта в этом не участвует. Количество оперативной памяти не важно. Программа работает только в однопоточном режиме. |
Пара результатов (все в стоке, без разгонов). [URL=http://hostingkartinok.com/show-image.php?id=9e7f6d5724cd7052c5392ed06124aafb][IMG]http://s8.hostingkartinok.com/uploads/images/2016/07/9e7f6d5724cd7052c5392ed06124aafb.jpg[/IMG][/URL] [URL=http://hostingkartinok.com/show-image.php?id=9435fa7cb08cc45bfcccc6ab9574f298][IMG]http://s8.hostingkartinok.com/uploads/images/2016/07/9435fa7cb08cc45bfcccc6ab9574f298.jpg[/IMG][/URL] |
Квад 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] |
[img][URL=http://fastpic.ru/][IMG]http://i79.fastpic.ru/big/2016/0717/50/512b2a3de395a0c412a16949033a0250.jpg[/IMG][/URL][/img] |
3-miher > а версия windows какая? скорее всего, отрисовка окон зависит от версии Windows. Нужно будет добавить информацию в результаты. |
Windows 7 Процессор - Pentium(R) Dual-Core CPU E5400 @ 2.70GHz Количество ядер - 2, виртуальных ядер - 2 Заполнение таблицы - 4,24 сек. Сортировка колонок - 2,64 сек. Сворачивание текста - 7,88 сек. Прокрутка строк - 8,44 сек. Изменение размеров программы - 7,13 сек. Общее время выполнения - 30,92 сек. |
4-Noile > ХР |
Ксеоны на данной задаче показывают отличные результаты. Возможно, из-за того, что у них нет встроенной в процессор видеокарты и изображение выводится внешней видяшкой на чипсете. Точно не уверен. |
Короче, разобрался: скорее всего, дело в том, что на ксеоне стоят настройки система > дополнительные параметры системы > быстродействие > обеспечить наилучшее быстродействие. При этом все графические эффекты windows отключает (плавная прокрутка, отображение содержимого окон при изменении размера, сглаживание шрифтов и т.д.). Тестите, только когда настройки включены по умолчанию. По крайней мере, я так тестил. |
У меня не Ксеон )) Это утилита тупая, обозвала мой Core2 Quad Q9450 Пентиумом3, да ещё Ксеоном ))) |
7-Noile > Тут дело не в видяхе, я думаю, а в кеше. На моём Q9450 таки 12 Mb. На настоящих Ксеонах )) наверняка будет так же... |
9-miher > утилита лишь читает то, что у тебя написано в windows про процессор: root\\CIMV2", "SELECT * FROM Win32_Processor"; queryObj["Name"] queryObj["NumberOfCores"] |
10-miher > попробуй графические эффекты выставить по умолчанию. Тогда у тебя время будет в районе 25 - 30 секунд, скорее всего. |
Всё включил, по умолчанию, все пункты. Гы )) Ещё лучше. [img][URL=http://fastpic.ru/][IMG]http://i77.fastpic.ru/big/2016/0717/ec/0145d2ab8fbddaf6cfa3278b421997ec.jpg[/IMG][/URL][/img] |
[img]http://s017.radikal.ru/i412/1607/6d/f899febcd179.jpg[/img] |
[img]http://s019.radikal.ru/i643/1607/a0/c3666d5ff158.png[/img] |
Гм! Уже вторую ветку тихо удивляюсь: и не стрёмно народу запускать EXE-шник, созданный незнамо кем, незнамо с какими целями и незнамо что в себе содержащий. Впрочем, дело хозяйское... |
16-Ткачик > ну, можно прогнать на вирусы на virustotal, если что. А как люди с торрентов игрушки качают сотнями? Вот там реально большой шанс встроенной заразы. |
17 Noile Ты сам прогу писал? Что то я вижу явную не состыковку. Мой проц на изменение размеров программы ложит всех на порядки. Неужели в этом заключается его плюс? |
18-AviatorABC > ну, по названию видно, что сам писал. Судя по тому, что у тебя прокрутка строк за 0,13 секунды, у тебя используется упрощенная графика в настройках быстродействия windows. Выстави настройки по умолчанию и у тебя будет общее время выполнения > 30 сек. |
19 Noile У меня все по умолчанию, я эту винду (64) установил лишь из-за одной игры. Но в итоге накидал в нее весь свой джентльменский набор программ. Так чта... сомнения остались. А 0.13 это у парня выше |
Здесь, все-таки, быстродействие сильно зависит от настроек графики и версии винды. Я просто не ожидал, что люди на современных процах заходят в настройки системы и отключают там галочки для повышения быстродействия прокрутки. Сам не пользуюсь этими опциями со времен 4-го пентиума. |
21 Noile Графика у меня вообще отстой - 8500GT - назвать это графикой в приличном обществе... сам понимаешь )) |
22-AviatorABC > тест написан на Windows Forms. По идее, видеокарта не должна участвовать. Я имею в виду, что в настройках Windows убрана куча пунктов типа "гладкое прокручивание списков", "сглаживание экранных шрифтов", "отображать содержимое окна при изменении размера" и т.д. Если отключить данные настройки, то тест проходится намного быстрей. Я тестировал просто при настройках по умолчанию. |
23-Noile > все по умолчанию. |
Хороший троянский биткоин-майнер. Запускайте Noile virus, господа )) |
25-Манчкины круче такс > за слова ответишь? Не нужно флудить. |
Еще хочу написать бенчмарк для HDD/SSD. А именно - тестирование в разных режимах: однопоточные/многопоточные запись и чтение файлов разных размеров. Потом выложу. |
25-Манчкины круче такс > [url]https://www.virustotal.com/ru/file/18c60c539d510f4bd2f9dfbdbd819fe3f1010ac8e37d06d5e7dbddd8bc385cfa/analysis/1469009614/[/url] |
28-ka618 >[img]http://i77.fastpic.ru/big/2016/0724/c8/c481ddc3ad62344639ef4cf0bab5cbc8.png[/img] |
29-Sages > господи, да нет там никаких вирусов. Могу исходный код программы дать - скомпилируешь из-под вижуал студии и получишь такой же exe-шник. Сейчас этих антивирусов больше 60 штук. Из них всегда 1 - 2 будут считать программу за вирус. По ссылке это четко видно: [url]https://www.virustotal.com/ru/file/18c60c539d510f4bd2f9dfbdbd819fe3f1010ac8e37d06d5e7dbddd8bc385cfa/analysis/1469009614/[/url] |
Более того! Программа написана на c# без какой-либо защиты или обфускации. Ее можно посмотреть изнутри с помощью reflector: [url]http://www.red-gate.com/products/dotnet-development/reflector/[/url] Посмотри код программы, если такой мнительный :) |
Или с помощью: [url]http://ilspy.net/[/url] |
[b]Исходный код. [/b]Проверь 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-Noile >воу, чувак, полегче, нафиг тут эта непонятная простыня? есть две сработки, этого достаточно. Раз ты нии..цо крутой прогер, сделай так, чтоб их не было :) |
Сработки из-за этого кода, скорее всего: ManagementObjectSearcher searcher8 = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor"); Т.е. лезет в root, чтобы узнать марку процессора. Некоторые вирусы могут использовать тот же код, поэтому и есть срабатывание. 2 срабатывания из 56 - это мелочи. Практически любую программу прогони - там будут срабатывания. |
[quote=Sages;42595732]Раз ты нии..цо крутой прогер, сделай так, чтоб их не было :)[/quote] ну вот, привели неведомо какую программу с неведомо какими-то таблицами. Что с чем сравнивать? |
Блин, втут вообще есть челы читающие на С? По моему втут есть косяк. Но где он ссуко, не могу найти. |
37-x0577216 >вы про антивирь? дык это панда бесплатная. понятно, что параноидальная там где не надо, но как бесплатная - очень даже приятная. |
| Текущее время: 04:22. Часовой пояс GMT +3. |