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


Голосование

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

Не тестировал, лень !
9 (40.9%)
Не работает!
4 (18.2%)
Отлично!
2 (9.1%)
Нормально!
1 (4.5%)
Так себе
0 (0%)
ПЛОХО!
2 (9.1%)
УЖААААС!
4 (18.2%)

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

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

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

Оффлайн НеФормат

  • Автор темы
  • Участник
  • *
  • Сообщений: 117
  • Ubuntu 11.10
    • Просмотр профиля
    • Линукс по Русски
Привет!
Дописал я свой скрипт по тестированию производительности компьютера .
Просьба протестить  :2funny:
Инструкция:

(Нажмите, чтобы показать/скрыть)

У  меня на Intel Core 2 Duo результат 1889

P.S. Стоит продолжать скрипт?


« Последнее редактирование: 26 Февраль 2012, 16:59:32 от ПатриотРоссии »

Мой сайт -  http://linuxfanat.ru!
Могу помочь с PHP,CSS,Html

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #1 : 26 Февраль 2012, 16:53:48 »
Допустим первичное значение переменной date=38, тогда date1=98. Учитывая то, что date получает значения в пределах 0≤n<60, каким образом цикл while вернёт true?
Подпись автора jillsmitt истинна...

Оффлайн НеФормат

  • Автор темы
  • Участник
  • *
  • Сообщений: 117
  • Ubuntu 11.10
    • Просмотр профиля
    • Линукс по Русски
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #2 : 26 Февраль 2012, 16:56:08 »
Там ещё int
Он вернёт значение int(т.е сколько раз он прибавил 1 за секунду )
У Вас тоже 1889 или иной результат?
« Последнее редактирование: 26 Февраль 2012, 16:59:09 от ПатриотРоссии »

Мой сайт -  http://linuxfanat.ru!
Могу помочь с PHP,CSS,Html

Оффлайн xArtem1991x

  • Участник
  • *
  • Сообщений: 117
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #3 : 26 Февраль 2012, 17:08:16 »
 let: not found
[: 12: !=: unexpected operator

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #4 : 26 Февраль 2012, 17:13:25 »
Там ещё int
Он вернёт значение int(т.е сколько раз он прибавил 1 за секунду )
У Вас тоже 1889 или иной результат?
С int всё в порядке как раз. А вот цикл получается безконечный.


Если уж на то пошло, то:
let date1="($date+59)%60";
# Увеличиваем date на 59 секунд и делим по модулю 60
while [ $date1 != $date ]; do
date=$(date +%S);
int=$(($int+1));
done

P.S. Накручивать клики на сайт дело конечно полезное, но раз мы данный скрипт из трёх строк тестируем - выложите его под тэг code для удобства.
« Последнее редактирование: 26 Февраль 2012, 17:24:38 от Alie Alexandross »
Подпись автора jillsmitt истинна...

Оффлайн Olej

  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #5 : 26 Февраль 2012, 17:49:42 »
let date1="($date+59)%60";
# Увеличиваем date на 59 секунд и делим по модулю 60
while [ $date1 != $date ]; do
date=$(date +%S);
int=$(($int+1));
done

[olej@notebook speed]$ ./speed
./speed: line 3: [: 59: ожидается использование унарного оператора
[olej@notebook speed]$
[olej@notebook speed]$ sh --version
GNU bash, version 4.0.38(1)-release (i386-redhat-linux-gnu)
...

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #6 : 26 Февраль 2012, 18:01:15 »
Естественно работать не будет :) Специально для вас
*** speed       2012-02-26 16:02:37.798851795 +0200
--- test2.sh    2012-02-26 15:58:37.735527599 +0200
***************
*** 1,6 ****
--- 1,17 ----
+ echo
+ echo "Тестирование скорости ... "
+ echo
+ int=0
+ date=`date +%S`
+
  let date1="($date+59)%60";
  # Увеличиваем date на 59 секунд и делим по модулю 60
  while [ $date1 != $date ]; do
  date=$(date +%S);
  int=$(($int+1));
  done
+ echo
+ echo
+ echo "-------------------"
+ echo "Результат: $int"
+ echo "-------------------"
« Последнее редактирование: 26 Февраль 2012, 18:03:12 от Alie Alexandross »
Подпись автора jillsmitt истинна...

Оффлайн Olej

  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #7 : 26 Февраль 2012, 18:56:37 »
Естественно работать не будет :) Специально для вас
а почему ж "естественно"?


Пользователь решил продолжить мысль 26 Февраль 2012, 19:04:02:
Дописал я свой скрипт по тестированию производительности компьютера .
вообще то это очень ненадёжный способ определения частоты процессора ;)

Желательно закрыть все программы
вот именно из-за этого, потому что "закрыть все программы" - это невозможно...
но даже не только из-за этого.

У  меня на Intel Core 2 Duo результат 1889
вопрос не в том, сколько там и у кого получается, а в том, насколько это согласовывается с данными о частоте процессора вашего Linux ... как-то так:
[olej@notebook Загрузки]$ cat /proc/cpuinfo | grep 'model name'
model name : Genuine Intel(R) CPU           T2300  @ 1.66GHz
model name : Genuine Intel(R) CPU           T2300  @ 1.66GHz


Пользователь решил продолжить мысль 26 Февраль 2012, 19:21:54:
я вам для сравнения код на С выкину, который на 1 сек. (не 1 мин.) интервале обычно даёт значение процессорной частоты до 4-го знака - сверьте его с тем, что у вас получается:
#include <stdio.h>
#include <stdlib.h>

unsigned long long rdtsc( void ) {
   unsigned long long int x;
   asm volatile ( "rdtsc" : "=A" (x) );
   return x;
}

#define NUMB 10
unsigned calibr( int rep ) {
   unsigned n, m, sum = 0;
   n = m = ( rep >= 0 ? NUMB : rep );
   while( n-- ) {
      unsigned long long cf, cs;
      cf = rdtsc();
      cs = rdtsc();
      sum += (unsigned)( cs - cf );
   }
   return sum / m;
}

unsigned long proc_hz( void ) {
   time_t t1, t2;
   unsigned long long cf, cs;
   time( &t1 );
   while( t1 == time( &t2 ) ) cf  = rdtsc();
   while( t2 == time( &t1 ) ) cs  = rdtsc();
   return (unsigned long)( cs - cf - calibr( 1000 ) );
}

int main( int argc, char *argv[] ) {
   printf( "processor speed: %f MHz\n", (double)proc_hz() / 1E6 );
   return EXIT_SUCCESS;
};
а вот несколько последовательных выполнений:
[olej@notebook time]$ ./clock
processor speed: 1662.440458 MHz
[olej@notebook time]$ ./clock
processor speed: 1662.424898 MHz
[olej@notebook time]$ ./clock
processor speed: 1662.528298 MHz
повторяемость последовательных результатов, их дисперсия, может, в какой-то мере, служить показателем устойчивости метода.

P.S. то что там показано, вызов rdtsc() позволяет измерять временные интервалы в наносекундном диапазоне и с наносекундной точностью (на процессорах x86 Pentium II и старше, ге есть такая команда) - может пригодится ;)
 

Пользователь решил продолжить мысль 26 Февраль 2012, 19:40:25:
Просьба протестить  :2funny:

сделал я "протестить" (внеся минимальные изменения в скрипт):
[olej@notebook speed0]$ time ./test.sh
Тестирование скорости ...
-------------------
Результат: 26773
-------------------
real 0m58.279s
user 0m11.718s
sys 0m39.406s
- но о чём должна говорить эта совершенно условная цифра?
« Последнее редактирование: 26 Февраль 2012, 19:40:25 от Olej »

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #8 : 26 Февраль 2012, 19:46:21 »
Цитировать
а почему ж "естественно"?
Поправлюсь: вам, как человеку знающему, должно быть естественно. Ибо ваши знания намного превышают уровень "тупого" copy/paste (без сарказма и с должным уважением).
И автору понятно, потому как мы разбирали с ним конеретный цикл, а не скрипт вцелом.
Подпись автора jillsmitt истинна...

Оффлайн Olej

  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #9 : 26 Февраль 2012, 20:20:05 »
Цитировать
а почему ж "естественно"?
Поправлюсь: вам, как человеку знающему, должно быть естественно. Ибо ваши знания намного превышают уровень "тупого" copy/paste (без сарказма и с должным уважением).
И автору понятно, потому как мы разбирали с ним конеретный цикл, а не скрипт вцелом.
да нет, я действительно не понимаю, почему ваш скрипт (взятый копированием с экрана! что важно) выдаёт ошибку, причём в разных shell я по-быстренькому попробовал:
[olej@notebook speed0]$ ./speed.sh
./speed.sh: line 3: [: 59: ожидается использование унарного оператора
[olej@notebook speed0]$ zsh ./speed.sh
./speed.sh:3: parse error: condition expected: 59
[olej@notebook speed0]$ bash ./speed.sh
./speed.sh: line 3: [: 59: ожидается использование унарного оператора
[olej@notebook speed0]$ dash ./speed.sh
./speed.sh: 1: let: not found
[: 6: !=: unexpected operator
[olej@notebook speed0]$ ksh ./speed.sh
./speed.sh[3]: [: argument expected
[olej@notebook speed0]$ ./speed.sh 60
./speed.sh: line 3: [: 59: ожидается использование унарного оператора
[olej@notebook speed0]$ tcsh ./speed.sh
date: Неопределенная переменная.
они в большинстве ссылаются на строку 3, а это:
while [ $date1 != $date ]; do
при том, что такая же строка проходит нормально в скрипте ПатриотРоссии :(

Думаю, что при копировании из форума в ваш скрипт вкрался какой-то непечатный (нецензурный ;)) символ.
Когда пойму что это - напишу.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #10 : 26 Февраль 2012, 20:36:22 »
Потому что переменная $date изначально не определена.
let date1="($date+59)%60";Другими словами вы запускаете в bash:
let var1="(Щито0_о+59)%60";
« Последнее редактирование: 26 Февраль 2012, 20:38:03 от Alie Alexandross »
Подпись автора jillsmitt истинна...

Оффлайн san-alex

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 7703
  • CNC programmer
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #11 : 26 Февраль 2012, 22:20:01 »
Чего-то у меня никакого результата ни через минуту, ни через десять. Просто висит сообщение: "Тестирование скорости ...". Поэтому "Ужас..."
Нужна ваша помощь в написании нового Руководства для новичков.

Оффлайн Stay_Strong

  • Активист
  • *
  • Сообщений: 607
  • Life in Love... by Romich)
    • Просмотр профиля
    • Натяжные потолки Саранск
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #12 : 26 Февраль 2012, 22:26:54 »
у меня мгновенный результат) но вот в чем интерес: 2012-02-26 22:23:55 (14,0 MB/s)
а speedtest показывает (5,0 MB/s). Кому верить?
Искренни укоризны от любящего, и лживы поцелуи ненавидящего.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: ТЕСТИРОВАНИЕ СКОРОСТИ Вашего компьютера
« Ответ #13 : 26 Февраль 2012, 23:37:53 »
Чего-то у меня никакого результата ни через минуту, ни через десять. Просто висит сообщение: "Тестирование скорости ...". Поэтому "Ужас..."
Прочитайте сообщение №2.
Подпись автора jillsmitt истинна...

Оффлайн Olej

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

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

 

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