Another nit-pick detail that contributes to improvement of the performance is that a table variable requires less locking and logging resources as the transactions involving table variable last only for...
If you are using temp table inside a stored procedure there is an advantage using a @table instead of #table. The stored procedure will spared with the recompilation each time...