As some mentioned, there is no support for multiprocessing in ArcGIS Desktop. When talking about processing GIS datasets in a desktop environment, I am trying to find out whether I can split a large workflow into smaller chunks which will be calculated at the same time loading multiple cores. Almost every case should be investigated individually since GP tools behaviours can differ significantly.

Think what is faster to do when solving a simple math problem. What is the fastest way to count all numbers from 1 to 100?

1) by summing the results one by one and adding the sum to each other incrementally (1+2=3, 3+3=6,6+4=10 and so on). One core is working on this task.

2) split values beforehand into individual chunks and sum the values there first (1 to 30, 31 to 60 and 60 to 100). Three cores will be working at the same time (last step would be to sum three values received).

Since different GP tools are implementations of different algorithms with different big-O notation, you would probably need to approach them differently in terms of submitting multiples processes.

A good starting point would be to learn how multiprocessing library in Python works. I use quite heavily.

I have also noticed that running Python scripts from a command line by using the 64-bit Python usually results in faster running (comparing to the IDE's run, but this might not be the case on your machine). Background geoprocessing was introduced in 10.1, but try to run the Python scripts with 64 bit Python and see how the performance is being affected.

ArcGIS Pro named in another answer is available in beta 5 for download (keep in mind that you would need to be a participant of the Esri Beta Community to submit any bugs and having access to an ArcGIS Online for Organizations account in order to be able to run the Pro).