v15.0 Speed-Ups Index   <<   >>


 
•   Functions on Small Domains
 ⍕b 1-40
⍕int8 1-10
x⍕b 1-300 for x having 1 or 2 elements
x⍕int8 1-180 for x having 2 elements, the first of which is non-zero
b∘.f x 1-8
x*b 1-90 scalar x and boolean b
 
•   Grade and Sort
⍋p 10-50 for permutations
⍋⍵ and ⍒⍵ 1-1.7 result in smallest datatype
⍋⍵ and ⍒⍵ 2-20 for small-range arguments
⍋b and {⍵[⍋⍵;]}b 1-7 also ⍒ instead of ⍋; for boolean b with a multiple of 8 columns
⍋b and {⍵[⍋⍵;]}b 1-5 also ⍒ instead of ⍋; for boolean b with 1-element major cells
⍋b and {⍵[⍋⍵;]}b 5-27 also ⍒ instead of ⍋; for boolean b with NOT a multiple of 8 columns
 
•   Searching
0∊b and 1∊b1-400
b∧.=1 1-100 also 1∧.=x, x∨.≠1, 1∨.≠x; also 0 instead of 1
y∊x 3-17where x and/or y have 1- or 2-byte items
y~x 3-12where x and/or y have 1- or 2-byte items
y∩x 3-12where x and/or y have 1- or 2-byte items
x∪y 3-13where x and/or y have 1- or 2-byte items
∪x 3-16where x has 1- or 2-byte items
 
•   Boolean
b⊥b 3-∞ equivalent to +/∧\⌽b, the number of trailing 1s in b
f/b 1800-87e3   f is one of < ≤ > ≥ ⍱ ⍲
∧/b and ∨/b1-∞
+/b 1-8
∧.∧, ∨.∨ 5-∞ for boolean vector arguments
x≡y, x≢y 1-8.7 64-bit floats or complex arguments
x≡y, x≢y 1-1.4 non float simple arguments
⍺+.×⍵ 1-11 boolean vector ⍺ and boolean array ⍵; also +.∧
⍺+.f ⍵ 4 boolean array ⍺ and boolean vec ⍵, for f one of × ∧ > < ≠ ∨ ⍱ = ≥ ≤ ⍲
⍉bm 1.2 POWER8 only, transposing a matrix with multiple of 8 rows and columns
 
•   Structural
↑x 5-12 for elements with the same 1↓shape
↓x 1-1.75 AKA ⊂⍤1⊢x
⊂⍤r⊢x 1-1.75 AKA ⊂[(-r)↑⍳⍴⍴x]x
↓[a]x 1.5-5
,/y 1-∞ for arguments with arrays with rank > 1
n,/[a]x 1-50 for simple array x
x∘.,y 2-4
⌽[a]x 1-3.7
 
•   Selection
b(≢¨⊂)x 5-14 partition pseudo operator
b(f/¨⊂)x 2.7-11 partition pseudo operator, for f one of + × ⌈ ⌊ ∧ ∨ ≠ =
x⍳⍤1 0⊢y 13
x⌷⍤r⊢y 1-370 where the effective left rank is 0
b[;…;i] and b[i] 1-4 boolean column indexing and boolean vector indexing
x[i;…;] 2-18 row (major cell) indexing AKA (⊂i)⌷x AKA i⌷⍤0 15⊢x
{⍺,f⌿⍵}⌸ and {⍺(f⌿⍵)}⌸   10 for f one of + ⌈ ⌊ = ≠ ∨ ∧
f⍤r 1-1.5 general case of rank operator on small arguments
f⌸ 1-1.8 general case of key operator on small arguments and/or in monadic case
 
•   Arithmetic and Other
x+.y 3.3
2 f/ x 1.2-4 for vector x and f one of + - × ⌈ ⌊ = ≠ < ≤ ≥ = ∨ ∧ ⍲ ⍱
n⌈/[a]x, n⌊/[a]x 1.5-6
+z, -z, y+z, y-z, ○z 1-6 complex arguments; greatest speed-ups are only on Linux
x⊥y 1-26 special case for scalar or vector x
x⊤y 1-3.3 special case for integer vector x and integer y
f\[a]x 2-20 f is + × (deferred from 14.0)
-\[a]x and ÷\[a]x 1-∞
⍺⍕⍵ and ⍺ ⎕FMT ⍵ varies E F and I formats, non-DECF data
÷⍵ 1-1.1 for non .NET systems only
≡⍵ 2-∞
f.g 1-1.6 general case of inner product
150 f is any monadic or dyadic scalar function
≢¨⍵ 25
f/¨⍵ 1-16 f one of + ⌈ ⌊ ∧ ∨ = ≠
⌈/⍵ and ⌊/⍵ 1-29 for non-vector ⍵
+/x 6-35 for integer x
?m⍴n 1.1-1.4 result is smallest datatype based on n