Without knowing the specifics I will answer generally. if you provide details, I can point to better solutions.
You can use a browser dev tool (such as firebug or the inbuilt tool in chrome (use key F12) to verify where it the main load time.
If the load time is in javascripts (multiple) then combine and minify them into fewer files.
What format are you using to pass data? and how much data are you sending? Data Tables is a very versatile plugin and supports multiple formats. If you are sending a ton of data using JSON then it might slow you down as JSON repeats key values and blots the total data size. I had a page using datatables for 5K rows and with JSON the data was about 1.5 MB and without JSON using simple JS array it went down to 300KB ish.
If your using HTML 5, You can also look into local storage and send new data only when needed. You can look into library such as https://github.com/marcuswestin/store.js/
Let me know if it helps of if you need specific pointers.
Update: XML response is also bloated (lots of extra markup) I would suggest to look into two things.
a. See if you can send plain JavaScript array of arrays (search for "datatables Ajax sourced data (array of arrays)", I can't provide link due to lack of reputation points). This works well if all your data is well formed (same number of elements in each array) and
b. Try to defer html rendering via this option http://datatables.net/release-datatables/examples/ajax/defer_render.html