>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

Время 6!:

См. также 9!:32 and 9!:33 .

6!:0 y Сейчас. Текущее время в порядке: год, месяц, день, час, минуты, секунды. Аргументом может быть пустой вектор, тогда глагол возвращает 6-ти элементный числовой список; или строка из букв Y M D h m s и других, тогда глагол форматирует время в виде строки. Например:
   6!:0 ''
2007 10 30 13 10 45.312

   6!:0 'YYYY-MM-DD hh:mm:ss.sss'
2007-10-30 13:10:46.875

   6!:0 'hh:mm:ss MM/DD/YY'
13:10:48 10/30/07
6!:1 y За Сессию. Секунды с начала сессии
 
[x] 6!:2 y На Выполнение. Время, потребовавшееся для выполнения предложения y , в секундах. Среднее x-кратного выполнения, по умолчанию однократного. Например:
   a=:?50 50$100
   6!:2 '%.a'
0.091
   10 (6!:2) '%.a'          NB. Среднее 10-ти выполнений
0.0771
   ts=: 6!:2 , 7!:2@]       NB. Время и использ. память
   ts '%.a'
0.08 369920
6!:3 y Задержка. Остановиться на y секунд. Например, 6!:3 (2.5)
 
6!:4 y Вызовы парсера. Количество обращений к парсеру J с начала сессии. Счетчик представляет собой машинное целое, его инкремент осуществляется без проверки на переполнение.

Например:
   6!:4 '' NB. 0
2081
   t=:3+5
   6!:4 '' NB. 1
2083
   (3 : 'z=.0 for. i.y do. z=.>:z end. *:z') 100
10000
   6!:4 '' NB. 2
2188
   $".100$,:'0+1'
100
   6!:4 '' NB. 3
2290

Между NB. 0 и NB. 1 , парсер был вызван дважды: один раз для t=:3+5 и второй раз для 6!:4 '' NB. 1 .

Между NB. 1 и NB. 2 , парсер был вызван 105 раз:
1 (3 : 'z=.0 for. i.y do. z=.>:z end. *:z') 100
1   z=.0
1 i.y
  100 z=.>:z
1 *:z
1 6!:4 '' NB. 2

Между NB. 2 и NB. 3 , парсер был вызван 102 раза: первый раз для $".100$,:'0+1' , потом 100 раз для каждого выполнения 0+1 , и, наконец, для 6!:4 '' NB. 3 .

 
6!:8 y Частота Часов. Возвращает частоту часов, количество отсчетов в секунду. (Под Windows, запрашивается функция QueryPerformanceFrequency.) Аргумент y игнорируется.
   6!:8 ''
1.19318e6
6!:9 y Количество Отсчетов. Возвращает текущее количество отсчетов в часах (прошедшее время). (В Windows, запрашивается QueryPerformanceCounter.) Аргумент y игнорируется.
   6!:9 ''
4.08486e9
   _10 [\ 2 -~/\ 6!:9"1 (101 0)$0
9 7 7 6 7 5 7 6 6 7
6 7 6 6 6 6 8 6 6 7
6 6 7 6 6 7 6 6 6 6
6 7 6 6 6 6 7 6 6 8
6 7 6 6 6 7 6 6 6 7
6 6 6 7 7 6 7 6 7 6
6 6 6 7 6 6 6 6 7 6
6 6 6 7 6 7 7 6 7 6
6 6 6 6 7 6 6 6 7 6
6 6 6 6 6 6 6 6 6 8
[x] 6!:10 y Область Данных Монитора Производительности. Текстовый вектор y отображается на фиксированную структуру записей “упакованных” данных монитора производительности (МП); старая область данных МП (если она была определена) освобождается. Счетчик МП (см. 6!:12) устанавливается в 0. Если y пустой, данные собраны не будут.

x — 2-х элементный вектор управляющих параметров; по умолчанию (если x опущено) предполагается равным 0 0.

0{x - что записывать
        0 - вход и выход
        1 - вход и выход, и все строки
1{x - что делать при нехватке места в y
        0 - “обернуть”, отбросить самую старую запись
        1 - “обрезать”, отбросить новую запись

Результат — количество записей, которое может поместиться в y.

6!:11 y Распаковать данные МП. Распаковать данные МП, в упакованый вектор из следующих колонок:

0  имя
1  пространство имен, в котором оно определено
2  валентность
3  номер строки (_1 на входе; _2 на выходе)
4  используемая память (в байтах)
5  время (в секундах)
6  список имен

Столбцы 0 и 1 являются индексами в содержимое столбца 6. Столбцы от 0 до 5 содержат одинаковое количество (взаимно соответствующих) элементов.

y может содержать индексы записей, которые требуется распаковать, где 0 — самая старая запись (и _1 самая новая запись). Если y пуст, распаковываются все записи. Строки в результате всегда расположены от более старых к более новым, ни одна строка не повторяется.
 
6!:12 y Добавить y к счетчику МП. Данные МП записываются если счетчик МП больше нуля и определена область данных МП. (Непустая область данных МП должна быть определена перед установкой счетчика МП) Результат — значение счетчика МП после операции.
 
6!:13 y Статистика МП. Производит 6-ти элементный вектор со следующей информацией:

0 - что записывать
      0 - вход и выход
      1 - вход, выход и все строки
1 - действие при нехватке памяти
      0 - обернуть
      1 - обрезать
2 - максимальоне кол-во записей
3 - текущее количество записей
4 - были-ли потеряны записи
5 - текущее значение счетчика МП

Если область данных МП не была определена, результат — 6$0. Аргумент y игнорируется.



Дальнейшие примеры:
   sum=: +/

   avg=: 3 : 0
n=. #y
s=. sum y
s % n
)

   1 (6!:10) 1e5$'x'
3570
   (6!:12) 1
1
   avg"1 ? 3 10$100
65 64.4 64.3
   (6!:12) _1
0

   x=. 6!:11 ''
   $&.> x
+--+--+--+--+--+--+-+
|21|21|21|21|21|21|3|
+--+--+--+--+--+--+-+
   |: > 6{. x
0 2 1 _1 1152 22582.5
0 2 1  0 4224 22582.5
0 2 1  1  576 22582.5
1 2 1 _1  128 22582.5
1 2 1 _2   64 22582.5
0 2 1  2  128 22582.5
0 2 1 _2    0 22582.5
0 2 1 _1  128 22582.5
0 2 1  0 4224 22582.5
0 2 1  1  576 22582.5
1 2 1 _1  128 22582.5
1 2 1 _2   64 22582.5
0 2 1  2  128 22582.5
0 2 1 _2    0 22582.5
0 2 1 _1    0 22582.5
0 2 1  0 4224 22582.5
0 2 1  1  576 22582.5
1 2 1 _1  128 22582.5
1 2 1 _2   64 22582.5
0 2 1  2  128 22582.5
0 2 1 _2    0 22582.5
   
   _5[\ 2 - ~/\ > 5{x
4.52571e_5 2.09524e_5 1.50857e_5 1.67619e_5 9.21905e_6
6.28571e_5 9.21905e_6 1.59238e_5 1.59238e_5 1.34095e_5
1.00571e_5 1.00571e_5 5.61524e_5 7.54286e_6 1.59238e_5
1.50857e_5 1.42476e_5 1.00571e_5 8.38095e_6 5.61524e_5
   
   > {: x
+---+---+----+
|avg|sum|base|
+---+---+----+
   
   (6!:10) 1e5$'x'   NB. только вход и выход
3570
   (6!:12) 1
1
   avg"1 ? 3 10$100
38.8 61.9 61.7
   (6!:12) _1
0

   x=. 6!:11 ''
   |: > 6{.x
0 2 1 _1  832 22681.5
1 2 1 _1 4928 22681.5
1 2 1 _2   64 22681.5
0 2 1 _2  128 22681.5
0 2 1 _1  128 22681.5
1 2 1 _1 4928 22681.5
1 2 1 _2   64 22681.5
0 2 1 _2  128 22681.5
0 2 1 _1    0 22681.5
1 2 1 _1 4928 22681.5
1 2 1 _2   64 22681.5
0 2 1 _2  128 22681.5

   _5[\ 2 - ~/\ > 5{x
7.12381e_5  1.50857e_5 6.70476e_5 9.21905e_6    3.52e_5
1.00571e_5 0.000108952 7.54286e_6 3.93905e_5 1.08952e_5
6.03428e_5           0          0          0          0

   6!:13 ''
0 0 3570 12 0 0
   
   sum_ab_ =: +/

   sum_z_ =: sum_ab_

   avg_q_ =: 3 : 0
tally=. #
s=. sum y
n=. tally y
s % n
)

   (6!:10) 1e5$'x'
3570
   (6!:12) 1
1
   avg_q_ i.12
5.5

   (6!:12) _1
0

   x=: 6!:11 ''
   (>{&>/0 6{x) ,. ' ' ,. (>{&>/1 6{x) ,. ' ' ,. ": ,. >3{x
avg_q_  q  _1
sum     q  _1
sum_ab_ ab _1
sum_ab_ ab _2
sum     q  _2
tally   q  _1
tally   q  _2
avg_q_  q  _2
   
   > 6{x
+------+---+-------+-----+-+--+
|avg_q_|sum|sum_ab_|tally|q|ab|
+------+---+-------+-----+-+--+


>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь