I look at the information-processing involved in a quantum computation, in terms of the difference between the Boolean logic underlying a classical computation and the non-Boolean logic represented by the projective geometry of Hilbert space, in which the subspace structure of Hilbert space replaces the set-theoretic structure of classical logic. I show that the original Deutsch XOR algorithm, Simon's algorithm, and Shor's algorithm all involve a similar geometric formulation. In terms of this picture, I consider the question of where the speedup relative to classical algorithms comes from.