  Scattering maps from strained or disordered nano-structures around a Bragg
reflection can either be computed quickly using approximations and a (Fast)
Fourier transform, or using individual atomic positions. In this article we
show that it is possible to compute up to 4.10^10 $reflections.atoms/s using a
single graphic card, and we evaluate how this speed depends on number of atoms
and points in reciprocal space. An open-source software library (PyNX) allowing
easy scattering computations (including grazing incidence conditions) in the
Python language is described, with examples of scattering from non-ideal
nanostructures.
