http://www.perlmonks.org?node_id=1081390


in reply to Sqlite: Threads and inserts into a different database for each one. (1 thread fast, >1 slow)

You didn't say what OS you are running on, and as perl's thread implementations vary that may be important.

perlthrtut has this to say which may be relevant to your problem :-

Performance considerations The main thing to bear in mind when comparing Perl's ithreads to o +ther threading models is the fact that for each new thread created, a c +omplete copy of all the variables and data of the parent thread has to be +taken. Thus, thread creation can be quite expensive, both in terms of mem +ory usage and time spent in creation.