This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Extending cygwin's process table (progress report)


On Tue, Jul 18, 2000 at 11:43:19PM -0400, cgf wrote:
>I am planning on revamping cygwin's process table for version 1.1.4.
>I hope to make process creation a little faster and to also allow many
>more cygwin processes.
>
>I'm also toying with trying to more closely tie cygwin pids to windows
>pids.
>
>Is anyone going to be bothered if pid creation is not monotonic?  By
>that I mean, parent pid 1000 may not create child pid 1001.  It may
>create child pid 27.
>
>It may still not be feasible to use cygwin pids as windows pids
>(possibly because I don't believe that pid 1 is special to windows) but
>I thought I'd give this a try anyway unless there is something that I'm
>missing.

Ok.  I have pulled apart cygwin's process table creation and
reimplemented everything using windows pids.  The result is pretty
incredible.

Cygwin is noticeably faster.  I use zsh on cygwin and it usually takes
2.5 seconds to start up (I've timed it quite a bit).  With my changes,
startup time is under a second.

I do use windows pids wherever possible but execed processes still have
their normal split personality.  If a process is execed, as far as
cygwin is concerned, it maintains the same "Windows PID" throughout its
lifetime.  As far as Windows is concerned, there are, unfortunately,
still multiple pids to contend with.

The 'ps' output of an execed process shows the original pid, while
'ps -l' will show the current windows pid, just as always.

It's unfortunate that there is nothing like an exec for Windows (unless
I wanted to be NT specific) but I think that the performance gains
are worth the potential user confusion.

I still have some issues to work out but this is looking pretty good.

FYI, these changes will not be in cygwin 1.1.3.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]