Время | 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| +------+---+-------+-----+-+--+