Actually, just had cause to revisit this particular thread...
... and it just dawned on me that tests in the article are not measuring the performance of each method... the tests are measuring how well each method runs a loop which has nothing to do with transferring data to a file. If you want a real test, build a table with desired number of rows (100k for example) and then simply select from that table using each method. The results will be drastically different.
Here's how to build a 100k row table of numbers in an eye-blink...
SELECT TOP 100000
IDENTITY(INT,1,1) AS N
INTO dbo.Numbers
FROM Master.dbo.SysColumns sc1,
Master.dbo.SysColumns sc2
And, yeah... where is the test for BCP?
--Jeff Moden
Change is inevitable... Change for the better is not.