Some times we need to insert / update bulk data in to CRM. By traditional data upsert takes too much time, so MS CRM introduced bulk upsert.
Sending a large number of individual organization message requests over a network, as you would do in a bulk data import operation, is affected by network performance. For improved performance, Microsoft Dynamics CRM support batching of requests into a single web service method call.
Performance of bulk data upsert is very good. Please find below the sample code of it. in provided code it saves data in CRM by 900 records batch. limit of batch is 1000. If your batch limit goes beyond 1000 then code will break, please note.
For more details please refer this link