Yes, it's the second option I've been talking about. Maybe it's an all or nothing proposition which would require a total rewrite (which won't happen), but if there is a way of getting there step by step it would be great.
/ Jonas Walldén
Previous text:
2004-02-01 21:05: Subject: Re: Default backend and thread backends?
You do not understand the issue. Just removing the interpreter lock would make Pike crash almost immediately when you start a second thread. You need to replace the interpreter lock with more fine-grained locks that lock only the data that each thread is currently working on. Those extra lock/unlock operations is what slows down Pike.
The only other option is to use some sort of data isolation, so that a thread doesn't have to lock it's data, because no other thread can access it.
/ Fredrik (Naranek) Hubinette (Real Build Master)