Когда создается процесс, ему выделяется куча и память стека.С другой стороны, потоки получают только стек и разделяют кучу с родительским процессом.Это означает, что даже если вы просто учитываете выделение памяти, создание процесса «дороже», чем потока.
Подпроцессы - это просто процессы, созданные другим процессом.В остальном они независимы и получают свое собственное пространство памяти.Вот статья, в которой более подробно рассматривается .