We study to what extent quantum algorithms can speed up solving convex optimization problems. Following the classical literature we assume access to a convex set via various oracles, and we examine the efficiency of reductions between the different oracles. In particular, we show how a separation oracle can be implemented using O ~ ( 1 ) quantum queries to a membership oracle, which is an exponential quantum speed-up over the Ω ( n ) membership queries that are needed classically. We show that a quantum computer can very efficiently compute an approximate subgradient of a convex Lipschitz function. Combining this with a simplification of recent classical work of Lee, Sidford, and Vempala gives our efficient separation oracle. This in turn implies, via a known algorithm, that O ~ ( n ) quantum queries to a membership oracle suffice to implement an optimization oracle (the best known classical upper bound on the number of membership queries is quadratic). We also prove several lower bounds: Ω ( n ) quantum separation (or membership) queries are needed for optimization if the algorithm knows an interior point of the convex set, and Ω ( n ) quantum separation (or membership) queries are needed for optimization if the algorithm knows an interior point of the convex set, and Ω ( n ) quantum separation queries are needed if it does not.