> FWIW, this behavior was introduced only recently: 24.3. It is true
> for only this one Emacs release (so far). It is an incompatible
> change from Emacs prior to 24.3, where (eq [] []) is nil.

I found the emacs-devel thread for that:
  http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00112.html
  http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00112.html

The addition of the zero_vector was tied into other changes of vector
allocation, so I don't suppose there were benchmarks specifically for
the zero_vector addition?

> So we should fix the code so that there are at least "one empty
> vector per vector type".

Thanks for the allowance of "at least". It would be good to assess the
performance impact of "(eq [] []) evaluates to nil".