Look at the columns that are being updated ... Then look at the indexes on the table. Are those columns indexed? Are they perhaps even in the clustered index?
If you're updating indexed columns, the indexes will be updated too - this takes extra time. If it's a clustered index, then all the non-clustered indexes will be updated too - this will take even longer time.
The actual update query has #test in its FROM clause. If there is no PK or index declared on this temp table, and the number of rows in there is considerable, then this would explain the difference if there used to be much less records in #temp ...