  We review some of the features of the ProjectQ software framework and
quantify their impact on the resulting circuits. The concise high-level
language facilitates implementing even complex algorithms in a very
time-efficient manner while, at the same time, providing the compiler with
additional information for optimization through code annotation - so-called
meta-instructions. We investigate the impact of these annotations for the
example of Shor's algorithm in terms of logical gate counts. Furthermore, we
analyze the effect of different intermediate gate sets for optimization and how
the dimensions of the resulting circuit depend on a smart choice thereof.
Finally, we demonstrate the benefits of a modular compilation framework by
implementing mapping procedures for one- and two-dimensional nearest neighbor
architectures which we then compare in terms of overhead for different problem
sizes.
