delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2000/03/16/08:43:51

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-developers-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com
Message-ID: <38D0DA7B.3E46184F@vinschen.de>
Date: Thu, 16 Mar 2000 13:58:35 +0100
From: Corinna Vinschen <corinna AT vinschen DOT de>
Reply-To: cygdev <cygwin-developers AT sourceware DOT cygnus DOT com>
X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; U)
X-Accept-Language: de,en
MIME-Version: 1.0
To: cygdev <cygwin-developers AT sourceware DOT cygnus DOT com>
CC: Egor Duda <deo AT logos-m DOT ru>
Subject: Re: Cygwin performance (was [ANN] PW32 the...)
References: <19940315002847 DOT 279871F1B AT sabami DOT seaslug DOT org> <0457 DOT 000315 AT logos-m DOT ru> <38CF6031 DOT 7D7A28BB AT vinschen DOT de>

Corinna Vinschen wrote:
> [...]
> I'm absolutely sure to get a speed up by the following, without
> the need of another stat-function:
> 
> The current implementation of fhandler_disk_file::fstat() calls
> three different functions which each opens the file independently:
> get_file_owner(), get_file_group(), get_file_attribute(). I've
> already planned to eliminate the first two functions. Instead,
> the complete functionality should be offered by get_file_attribute().
> This makes sense, because get_file_attribute already knows user
> and group. I hope to increase speed noticable that way.

I would like to announce that I could speed up stat() already
by 20-30% on remote drives and around 50% on local drives.

I have done this by the aforementioned patch and additionally by
calling the function `set_process_priviliges()' only once per process
in dcrt0.cc instead of calling it each time, a file is opened.
Actually this second change was a breakthru.
Further, the call to `num_entries()' in `stat_worker ()' is
only be done if the drive is no remote drive in which case the
st_nlink member of the stat struct is fixed set to 2.

Chris, if you like to see it, I would check it in. I have send it
to cygwin-patches already. There's an additional bugfix which
is described in detail in that mail.

Personally, I will check out another way that could perhaps
result in another 20-50% speed up but this is a bigger (say:
unsafe) change in fhandler.cc and security.cc.

Corinna


- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019