  An orientable sequence of order $n$ is a cyclic binary sequence such that
each length-$n$ substring appears at most once \emph{in either direction}.
Maximal length orientable sequences are known only for $n\leq 7$, and a trivial
upper bound on their length is $2^{n-1} - 2^{\lfloor(n-1)/2\rfloor}$. This
paper presents the first efficient algorithm to construct orientable sequences
with asymptotically optimal length; more specifically, our algorithm constructs
orientable sequences via cycle-joining and a successor-rule approach requiring
$O(n)$ time per bit and $O(n)$ space. This answers a longstanding open question
from Dai, Martin, Robshaw, Wild [Cryptography and Coding III (1993)]. Applying
a recent concatenation-tree framework, the same sequences can be generated in
$O(1)$-amortized time per bit using $O(n^2)$ space. Our sequences are applied
to find new longest-known (aperiodic) orientable sequences for $n\leq 20$.
