Subject: RE: Mozilla 1.3 built on cygwin?
From: "Ralf Habacker" <[email-masked]>
To: "Chris January" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Date: Sun, 6 Apr 2003 22:05:56 +0200

> You could buy the Nebett book. Or instead download the sample source code
> (including the fork example) from
> http://www.newriders.com/content/images/1578701996/downloads/1578701996.zip
> and http://www.newriders.com/content/images/1578701996/downloads/ntdll.zip.
> You can find most of the API that's documented in Nebbet's book at
> http://undocumented.ntinternals.net/.
>
Thanks for this hint. This is very helpfull.

In the meantime I've done a little inspection and recognized, that one of the
major problem seems to be in the CreateProcess() call of the fork code, which is
a real time eater. The reason for this behaviour seems partially to be the
issues Ron Parker has told about. Further this depends on the number of loaded
dll's and how these dll's are rebased (correlated with the size of the dll).

See some results below.

a simple cygwin application
[client] fork                           (val)      16343 [us]
[parent] fork                           (val)      13291 [us]

a simple qt application without gui
[client] fork                           (val)      37728 [us]
[parent] fork                           (val)      34568 [us]

a kde application (using kdecore)
[client] fork                           (val)     337855 [us]
[parent] fork                           (val)     334691 [us]

a kde gui application (using kdecore + kdeui)
(first call)
[client] fork                           (val)    1605189 [us]
[parent] fork                           (val)    1599379 [us]

(further calls)
[client] fork                           (val)     636870 [us]
[parent] fork                           (val)     631324 [us]

Ralf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/