Being shorter is an advantage, especially using the glob pattern so
one does not have to manually list each module (which is more like
Python and becomes an issue when one has hundreds of extension
modules). But the primary advantages are
* cythonize() understands inter-module dependencies, e.g. if foo.pyx
cimports bar.pxd, it will need to be re-compiled when bar.pxd changes.
Standard distutils has no understanding of these dependencies, and
while one could add bar.pxd as a dependency explicitly, one would also
have to transitively add anything bar.pxd cimports and manually keep
these in sync.
* we don't force the user to use our hacked build_ext, which may
conflict with a custom or project build_ext that they might want to
use, and in particular the build_ext isn't required to know anything
about Cython or .pyx files.
Another small benefit is that cythonize() can compile modules in parallel.
- Robert