| Время | 6!: |
| 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 раз:
Между 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|
+------+---+-------+-----+-+--+