This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: last snapshot is not better than previous version


On 5/31/2016 5:16 AM, Corinna Vinschen wrote:
On May 30 19:00, Denis Excoffier wrote:
On 2016-05-30 10:25, Corinna Vinschen wrote:


The problem is, there's no change at all in the snapshot which would
explain a slowdown of such basic functions:

- Assorted select(2) improvements:

  commits a23e6a35d896a075640db714b28ce74bb6b8d7ff
          e5665d8c930485d5ac6d8913573e27b9e5043d92
Thank you for your answer. However, i do insist.
I use again the file created with "seq 10000 > 10k" and still
look-up the string "9999" inside it.

I perform:
strace -o vi.out /usr/bin/vim 10k
and inside vi:
:0
/9999
:q

Without snapshot, vi.out contains 15133 lines
With snapshot, vi.out contains 426553 lines. Huh?
I tested with 2.5.1, with the latest snapshot and with the latest from
git master, on 32 and 64 bit.  In all cases, the above results in about
1000 'select_stuff::cleanup: calling cleanup routines' lines in vi.out,
give or take, depending on my typing speed.

Without snapshot, the 6 lines:
------------------------------
select: sel.always_ready 0
select: sel.wait returns 0
select_stuff::cleanup: calling cleanup routines
select_stuff::destroy: deleting select records
select: recalculating ms
select: ms now 0
------------------------------
occur about 450 times

With snapshot, the 6 lines:
------------------------------
select: sel.always_ready 0
select: sel.wait returns 0
select_stuff::cleanup: calling cleanup routines
select_stuff::destroy: deleting select records
select: recalculating us
select: us now 0
------------------------------
occur more than 69000 times

Something is probably wrong near here. Please tell me what i should experiment next.

Al least i have found a wrong line in select.cc: line 4, the copyright year is missing. ;-)
Yeah, no worries.

Again, I can *not* reproduce this.  Maybe we should start at the basics,
a cygcheck output.  What's your OS?  I'm testing on a 64 bit W10.
What's your terminal?  I tried from Mintty as well as from a console.
Corinna asked me to look at this since I coded the select()-related changes she mentioned. I can't reproduce either of your cases.

Some things I'll mention:

1) Your Cygwin install seems to be in your Windows home directory. There's nothing wrong with that but it is unusual. Is there some reason the usual location doesn't work?

2) The cygcheck output shows you being a member of over 50 groups, is this system in a domain? Are any network shares involved? (I tried mounting a local network share, then using ls. It was 10 times slower-- but that was still only 4 seconds to list 11000 files.)

3) You have many thousands of packages installed. It's not the complete Cygwin set but it is a substantial fraction. It might be worth trying an install with a smaller number of packages. Are you running these tests on the same Cygwin install but with different DLLs installed, or on different Cygwin installs?

4) You've given an interpretation of the strace output that you see, but it might be useful to see the actual strace output for your two test cases. Perhaps the noisy logging for select() is an effect of the problem, rather than its cause. Could you run them again (also with the -d flag, which will help us see where the time goes), and send them in email?

Regards,

  --jh

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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