It is quite possible to beat established (array) implementations with special cases and bittwiddling.

# Rosetta

$$n \mapsto (-1)^n$$ is $$1$$ or $$-1$$ depending on whether $$n$$ is even or odd.

## Apple

 > :bench (_1.0^)'irange 0 999999 1
benchmarking...
time                 1.486 ms   (1.477 ms .. 1.494 ms)
0.999 R²   (0.999 R² .. 1.000 R²)
mean                 1.512 ms   (1.507 ms .. 1.522 ms)
std dev              20.39 μs   (11.74 μs .. 36.11 μs)

Apple recognizes $$n \mapsto (-1)^n$$ as an idiom.

## BQN

   )time:1000 ¯1⋆↕999999
4.487ms

Perhaps this is faster than the others because BQN uses 32-bit integers.

## J

   1000 (6!:2) '_1^(i.999999)'
0.0119482

## APL

¯1*⍳999999

## NumPy/Python

%timeit (-1)**np.arange(0,999999)
10.2 ms ± 85.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

# Conclusion

Apple leaves some performance on the table; we could use a conditional negate instruction and avoid the need to put a constant -1 in d2.

 > :disasm ((_1.0)^)
movz x1, #0x3ff0, LSL #48                01 fe e7 d2
fmov d0, x1                              20 00 67 9e
movz x1, #0xbff0, LSL #48                01 fe f7 d2
fmov d2, x1                              22 00 67 9e
tst x0, 0b1                              1f 00 40 f2
fcsel d0, d2, d0, NE                     40 1c 60 1e
ret                                      c0 03 5f d6

In fact the -1 is not even hoisted out of the loop when we map $$(-1)^n$$ over a vector:

 > :disasm (((1.0)^)')
⋮
apple0:
mov x3, #0x10                            03 02 80 d2
add x3, x3, x1, LSL #3                   63 0c 01 8b
ldr x4, [x6, x3, LSL #0]                 c4 68 63 f8
movz x3, #0x3ff0, LSL #48                03 fe e7 d2
fmov d3, x3                              63 00 67 9e
movz x3, #0xbff0, LSL #48                03 fe f7 d2
fmov d2, x3                              62 00 67 9e
tst x4, 0b1                              9f 00 40 f2
fcsel d3, d2, d3, NE                     43 1c 63 1e
add x3, x1, #0x2                         23 08 00 91
str d3, [x0, x3, LSL #3]                 03 78 23 fc
add x1, x1, #0x1                         21 04 00 91
cmp x1, x2                               3f 00 02 eb
b.LT apple_0                             6b fe ff 54

In this example, it's hard to get high-level languages to perform. There's plenty of room at the bottom!