Understanding which one has better performance for performing CRUD operation in SharePoint List, CSOM or JSOM?
Check out this excellent article where the performance of both is tested: Deep Dive – REST and CSOM Comparison
I tested a series of pretty common operations in both REST and CSOM:
Creating Lists (10) Creating List Items (100 per List, for a total of 1000) Reading List Items by ID Querying for List Items (retrieving 50 per List) Deleting List Items Deleting Lists To complete these operations, CSOM made 42 calls back to the server with a total of about 2.5MB traversing the wire and an average payload size for each call of a little over 40K. REST, on the other hand, required over 3000 calls with total network traffic of a little more than 5 MB, but had an average payload size of a little less than 2K. Overall, each REST call was far smaller than each CSOM call and about 85% of each REST call was comprised of the HTTP Headers. If we could batch our REST calls (which IS supported by the underlying architecture but not likely something we’ll see soon) then REST would be much more of a contender here. By batching our REST calls, we’d have less calls and therefore less header traffic.
The other interesting thing here is that despite requiring more calls and more traffic (again, mostly headers) REST outperformed CSOM from a total time perspective by about 30%.
In a nutshell, there are plusses and minuses for both REST and CSOM from a performance perspective. While in general, we would award the winner to whichever took the least time (REST), the sheer number of calls made by REST and the 2x amount of data flowing across the wire were too much to overcome and we have to award this round to CSOM. For your situation, the operations you perform may not require as many calls and so REST will be a more logical choice. Remember, on a per-call basis, REST outperformed CSOM for both time and payload size, so if you don’t require as many calls, REST can outperform CSOM.
You asked about performance, so there you have it.
But the general consensus seems to be that REST is also easier to perform CRUD operations, due to the OData operations and syntax - and I personally agree with this.
Nice question, "Which one is faster CSOM or JSOM for CRUD operation?". But the fact to determine which API to be used for performing a certain operation in SharePoint depends on various factors like type of application, operating system, what kind of operation is to be performed in which system and so on.
Based on the MSDN reference, I would say, go with REST service for performing CRUD operations in a SharePoint list.
To know more about CRUD operations using REST, read the below artice http://www.codeproject.com/Articles/990131/CRUD-Operation-to-List-Using-SharePoint-Rest-API
Why REST API ?
With the REST endpoint, it is not needed to work with one of the proxies and can leverage the OData Protocol to easily perform CRUD operations on SharePoint. Use of REST with jQuery allows for better performance and an easier implementation.