in reply to Splitting large array for threads.
Chunking will definitely reduce the IPC overhead. If you are sure that none of the 4 million entries in the array is causing an error that makes your program stall then you can consider chunking.
The MCE module has a direct chukning implementation you might want to explore
In Section
Seekers of Perl Wisdom