High performance numerical methods for Volterra equations with weakly singular kernels