Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Голосование

Как Вам срипт?

Не тестировал, лень !
10 (43.5%)
Не работает!
4 (17.4%)
Отлично!
2 (8.7%)
Нормально!
1 (4.3%)
Так себе
0 (0%)
ПЛОХО!
2 (8.7%)
УЖААААС!
4 (17.4%)

Проголосовало пользователей: 19

Автор Тема: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера  (Прочитано 3505 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн shtsume

  • Любитель
  • *
  • Сообщений: 67
  • wayland fan
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #15 : 27 Февраля 2012, 00:34:23 »
xubuntu 12.04 пишет Тест скорости и все.)
n900. Я НАСТОЯЩИЙ ГИК МЛ**ТЬ!

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #16 : 27 Февраля 2012, 01:01:48 »
Потому что переменная $date изначально не определена.
let date1="($date+59)%60";
это то мне в общем понятно...
Ну, тогда что не понятно?

Другими словами вы запускаете в bash:
let var1="(Щито0_о+59)%60";
но вы разве это запускаете не в bash?
"Это", то бишь кусок кода, вы сами запустили в bash и не поняли почему оно не заработало.
да, я попробовал это в другом дистрибутиве, специально это сделал, но у вас в Ubuntu (какой там версии) разве не bash по дефаулту?
У меня по дефолту - только root, а пользователя я создаю с флагом -s /bin/bash

Желающим "протестировать" свой компьютер: смените строку
let date1="$date+60";на
let date1="($date+59)%60";
Подпись автора jillsmitt истинна...

Axa-Ru

  • Гость
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #17 : 27 Февраля 2012, 01:16:41 »
А чем этот тест лучше, чем например этот http://www.phoronix-test-suite.com/?k=downloads?
« Последнее редактирование: 27 Февраля 2012, 01:18:42 от Axa-Ru »

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #18 : 27 Февраля 2012, 01:27:57 »
Ничем :) Это как glxgears на bash...
Подпись автора jillsmitt истинна...

Оффлайн san-alex

  • Забанен
  • Старожил
  • *
  • Сообщений: 7726
  • Ex-CNC programmer
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #19 : 27 Февраля 2012, 01:43:22 »
Желающим "протестировать" свой компьютер: смените строку
let date1="$date+60";на
let date1="($date+59)%60";
О - заработало.
Результат: 31688А что эти циферки значат?

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #20 : 27 Февраля 2012, 03:09:08 »
О - заработало.
Результат: 31688А что эти циферки значат?
а ничего не значат ;)
совершенно относительное "число инкрементных операций за 60 сек." которые может выполнить ваш компьютер ... если сложатся некоторые благоприятные условия ;)

вот 2 подряд выполненные запуски:
[olej@notebook speed0]$ ./test.sh
Тестирование скорости ...
-------------------
Результат: 25864
-------------------
[olej@notebook speed0]$ ./test.sh
Тестирование скорости ...
-------------------
Результат: 24149
-------------------
- это достаточно изрядное расхождение, >7% и это при полном отсутствии активности системы.

кстати, интересно сравнить эту цифру с показателем производительности bogomips, так как его определяет сам Linux:
[olej@notebook Загрузки]$ cat /proc/cpuinfo | grep bogomips
bogomips : 3325.02
bogomips : 3324.87
bogomips, если мне не изменяет память, это число пустых циклов за секунду... в отличие от операции инкремента в скрипте, вот такая пропорциональность: 25864/3325.02 = 7.77.. - оно должно на разных компьютерах быть одним и тем же, приблизительно..., так что лучше оценки делать по bogomips.
 
« Последнее редактирование: 27 Февраля 2012, 03:44:59 от Olej »

Оффлайн Stay_Strong

  • Активист
  • *
  • Сообщений: 611
  • Life in Love... by Romich)
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #21 : 27 Февраля 2012, 10:00:06 »
работает всё великолепно на 11.10 ждать не надо ни секунды, только скорость какую-то нереальную выдает  :) Уже 3 раза проверял.
« Последнее редактирование: 27 Февраля 2012, 10:02:45 от Stay_Strong »
Искренни укоризны от любящего, и лживы поцелуи ненавидящего.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #22 : 27 Февраля 2012, 11:10:12 »
Для информации лучше добавить тип ядер, иначе это цифры тестирования чего-то непонятного.
al@al-desktop:~$ cat /proc/cpuinfo | grep -E "^(model name|bogomips)(.*)\$"
model name : Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz
bogomips : 6132.16
model name : Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz
bogomips : 6133.27
model name : Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz
bogomips : 6133.28
model name : Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz
bogomips : 6133.26
PS.Можно еще bogomipsы сложить, например с помощью bc.
« Последнее редактирование: 27 Февраля 2012, 11:13:38 от alexander.pronin »

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #23 : 27 Февраля 2012, 13:28:35 »
PS.Можно еще bogomipsы сложить, например с помощью bc.
bogomips-ы можно было бы складывать ... разве что в качестве 1-во-апрельского прикола: скрипты подобные показанному (и программы, скажем, из С скомпилированные) - выполняются в 1 поток, и будь у вас хоть 8 ядер на компьютере, цифра итоговая результата не изменится ни на сколько.


Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #24 : 27 Февраля 2012, 13:48:42 »
Ну и что из того. Это не так очевидно и однозначно.
i3 - реально 2 ядерный, но имеет аппаратное переключение контента при входе и выходе в task (переключение контента занимает приличное время). В результате видится как 4-ядерный.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #25 : 27 Февраля 2012, 14:23:54 »
Ну и что из того. Это не так очевидно и однозначно.
i3 - реально 2 ядерный, но имеет аппаратное переключение контента при входе и выходе в task (переключение контента занимает приличное время). В результате видится как 4-ядерный.
... это уже пошли какие-то мистические заклинания ;)

я вам говорю о другом: если программа написана как однопотоковая, то она всегда будет выполняться только на одном процессоре, а все остальные, сколько бы их не было, будут простаивать на 0% загрузки.

P.S. а можно shell-скрипт написать как многопотоковый? можно! ... и это ещё ухудшает возможности скрипта для оценок: результат будет зависеть от того, как скрипт написан.


Пользователь решил продолжить мысль 27 Февраля 2012, 14:34:13:
работает всё великолепно на 11.10 ждать не надо ни секунды, только скорость какую-то нереальную выдает  :) Уже 3 раза проверял.

а это не скорость ;)
это и есть "нереальные" цифры, которые как-то, относительно показывают сколько инкрементных операций процессор в цикле может выполнить за фиксированный промежуток времени... но:

1. это подсчёт числа инкрементных операций, выполняемых конкретным shell интерпретатором, поменяйте интерпретатор, или даже его версию, а по команде вида ./test вызывается дефаултный для пользователя интерпретатор, которого вы можете и не знать - и все цифры ваши поплывут!

2. единственное применение, которое я знаю в задачах программирования оценке производительности - это нормировка для последующего измерения временных интервалов: чтобы у разных пользователях на разных компьютерах временные задержки оставались постоянными ... как в вызове, как пример, функции sleep( 2 ), где 2-х секундная задержка должно сохраняться и на дремучем 300Mhz целероне, и не современном...
Но подобный скрипт для таких целей на практике мало пригоден: слишком большые расхождения при повторных выполнениях.
 
« Последнее редактирование: 27 Февраля 2012, 14:36:30 от Olej »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #26 : 27 Февраля 2012, 14:34:52 »
я вам говорю о другом: если программа написана как однопотоковая, то она всегда будет выполняться только 
на одном процессоре, а все остальные, сколько бы их не было, будут простаивать на 0% загрузки.
Это да.
« Последнее редактирование: 27 Февраля 2012, 14:38:47 от alexander.pronin »

Axa-Ru

  • Гость
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #27 : 27 Февраля 2012, 14:43:51 »
1. это подсчёт числа инкрементных операций, выполняемых конкретным shell интерпретатором, поменяйте интерпретатор, или даже его версию, а по команде вида ./test вызывается дефаултный для пользователя интерпретатор, которого вы можете и не знать - и все цифры ваши поплывут!
Именно поэтому все тесты очень условны и их пытаются привязать к конкретным операциям типа отрисовка полигона, разархивирование и прочая лабуда.
А так это просто человек bash  изучает.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #28 : 27 Февраля 2012, 15:16:28 »
1. это подсчёт числа инкрементных операций, выполняемых конкретным shell интерпретатором, поменяйте интерпретатор, или даже его версию, а по команде вида ./test вызывается дефаултный для пользователя интерпретатор, которого вы можете и не знать - и все цифры ваши поплывут!
Именно поэтому все тесты очень условны и их пытаются привязать к конкретным операциям типа отрисовка полигона, разархивирование и прочая лабуда.

Сами тесты производительности мало кому интересны, кроме производителей, норовящих продать свой товар, и тестами подтасовывающих (или не подтасовывающих) характеристики товара ;).

Куда интересней и важная и сложная обратная задача: получение, измерение, выдержка и т.д. фиксированных временных интервалов в программах, не зависящие (интервалы) от оборудования на которых выполняется. Как легко понять, эта задача во многом обратная оценке производительности (для активных задержек так это прямо обратная залдача).

А вообще, задача работы с временными интервалами в многозадачной операционной системе, наверное, самое сложное и неожиданное по результатам, что есть в операционной системе.

Пользователь решил продолжить мысль 27 Февраля 2012, 16:09:57:
1. это подсчёт числа инкрементных операций, выполняемых конкретным shell интерпретатором, поменяйте интерпретатор, или даже его версию, а по команде вида ./test вызывается дефаултный для пользователя интерпретатор, которого вы можете и не знать - и все цифры ваши поплывут!

[olej@notebook speed0]$ ./test.sh
Тестирование скорости ...
-------------------
Результат: 3952
-------------------
[olej@notebook speed0]$ zsh ./test.sh
Тестирование скорости ...
-------------------
Результат: 935
-------------------
[olej@notebook speed0]$ ksh ./test.sh
Тестирование скорости ...
-------------------
Результат: 4570
-------------------
- ну как вам это понравится? ;)
(это всё тот же исходный скрипт, подправленный только на соответствие переносимому синтаксису shell, без использования расширений bash + период я сменил на 10 вместо 60 ... в облом ждать ;), чтоб сами цифры не смущали).

Как вам понравится оценки "производительности", которые меняются в 5 раз в записимости от того, какой shell вы использовали для такой оценки?
ну и вот это:
[olej@notebook speed0]$ zsh ./test.sh
Тестирование скорости ...
-------------------
Результат: 924
-------------------
[olej@notebook speed0]$ zsh ./test.sh
Тестирование скорости ...
-------------------
Результат: 1017
-------------------


Пользователь решил продолжить мысль 27 Февраля 2012, 18:07:52:
поскольку измерение временных интервалов это сильно непростая задача, то решил я чуть подправить ваш тест:
- начало раскрутки цикла счёта выполненных операций должно начинаться не в произвольное время когда запустили скрипт, а в начале следующей секунды после запуска, чтобы иметь число полных секунд:
period=10
if [ -n "$1" ]
then
   let period="$1"
fi
echo "Тестирование скорости, период $period сек."

date1=$(date +%S)
date=$date1
while [ $date1 -eq $date ]; do
   date=$(date +%S)
done
date0=$date
let "date1=($date+$period)%60"

int=0
while [ $date1 -ne $date ]; do
   date=$(date +%S)
   let "int=$int+1"
done
let "int=$int/$period"
echo "Результат [$date0...$date1]: $int"
- ну, и возможность задания периода параметром я добавил (зачем 60 сек.?) + нормировку результата на период: число операций за одну секунду.
Вот теперь результаты более устойчивы даже на 1 сек. измерении:
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [25...26]: 447
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [30...31]: 423
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [32...33]: 567
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [34...35]: 534
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [36...37]: 556
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 1
Тестирование скорости, период 1 сек.
Результат [38...39]: 583
И кроме того, они хорошо совпадают с результатами на больших периодах усреднения:
[olej@notebook speed0]$ sudo nice -n-19 ./test.sh 30
Тестирование скорости, период 30 сек.
Результат [47...17]: 488
- вот здесь в начале 47-й секунды счёт начался, а в начале 17-й секунды следующей минуты закончмлся.
« Последнее редактирование: 27 Февраля 2012, 18:07:52 от Olej »

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #29 : 27 Февраля 2012, 20:38:00 »
Позволила себе переработать скрипт с целью уменьшения погрешности конечного результата.
#!/bin/bash
_RESULT=0;
for (( _I=1; $_I<4; _I++))
do
        echo "Cyrcle $_I";
        _PNT=0;
        _INIT=`date +%S`
        let _FINAL="($_INIT+59)%60";
        while [ $_INIT != $_FINAL ];
        do
                _INIT=$(date +%S);
                let _INT="$_INT+1";
        done
        let _RESULT="$_INT+$_RESULT";
done
let _RESULT="$_RESULT/177";
echo "$_RESULT">>result;
Снижение пограшности достигается путём утроения цикла проверки с последующим выведением среднего числа и делением на количество "рабочих" секунд. В итоге получаем средний результат за три цикла в секунду.

 Полевые испытания.
(Нажмите, чтобы показать/скрыть)
Для начала я решила исследовать погрешность. Скрипт запускался по пять раз в разных условиях:
1. X.org ON, daemons {syslog-ng, sshd, network, crond, cxs} Отмечен как X.org+dmn
2. X.org ON, все демоны выгружены. Отмечен как X.org-dmn
3. В консоли (после авторизации), daemons {syslog-ng, sshd, network, crond, cxs} Отмечен как tty+dmn
4. В консоли, без демонов. Отмечен как tty-dmn
В результате: средняя погрешность (0.5±0.1)%

Дальше я проверила зависимость от частоты процессора. В результате разогнанный до 3.6 GHz процессор выдал разницу на 684.1 единицы сравнительно с дефолтной частотой 2.4GHz.
Замеры на сей раз проводились только по три раза, ибо из предыдущего теста была выявлена погрешность.

Напоследок сменила частоту процессора на 3.3GHz - 2514 X.org+dmn.
...и сменила тайминги памяти с 8-8-8-24 на 7-7-7-21 при текущей частоте процессора 3.6GHz и памяти 1251MHz - 2738 X.org+dmn

 Выводы.
Меня больше всего интересовал последний опыт: насколько чувствительным окажется скрипт к временным задержкам памяти и частоте процессора. Результат по таймингам меня более чем удовлетворил, касательно процессоров - очередной тест "попугаев" just for fun :)
Подпись автора jillsmitt истинна...

 

Страница сгенерирована за 0.074 секунд. Запросов: 28.