X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:date:message-id:subject:from:to
	:content-type; q=dns; s=default; b=hjH4sJbXYyoV1jqUaTadp0sxFx3wH
	b9uR+GvtICsdWZRR2Nr6gWYEqbGw+2jeWisKArERhSzEoRC/+Lvt0Zdvtbw7d7PS
	Gz8+TgUSuGvaxeR1GwlXMKg1Kd+N+u5tCigO0KFpLp6fQQBGKoi/v5joG67LuHl6
	ntLJS6/6qohxRI=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:date:message-id:subject:from:to
	:content-type; s=default; bh=ZJwcxhBi9sZDK77Fbo07MdPOt+0=; b=kMq
	E0DP4pa9eclsNthk8DTUx2Tf7ie0PpzHKIWTnbbRPMNeoYlBMsmZRI33IQcX3AEZ
	gNS7tN02Gq2rYIZkmUfZYdE4+bgJpYIDrQJtXVdcdkO7lCONDMA3kMhFxjdVZzqe
	meTOx19h/dWdGr/xjIumxnXy9GQoWWLoLwRZZ0BY=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2
X-HELO: mail-lb0-f180.google.com
MIME-Version: 1.0
X-Received: by 10.112.172.138 with SMTP id bc10mr11478278lbc.74.1447460658497; Fri, 13 Nov 2015 16:24:18 -0800 (PST)
Date: Sat, 14 Nov 2015 01:24:18 +0100
Message-ID: <CABPLASTtRK4mNxh0M_AnZgjJQ15kWPx+L=U=VCU3Wwi7jV_57A@mail.gmail.com>
Subject: Cygwin multithreading performance
From: Kacper Michajlow <kasper93@gmail.com>
To: cygwin@cygwin.com
Content-Type: text/plain; charset=UTF-8
X-IsSubscribed: yes

Hello,

I recently noticed that Cygwin multithreading is very inefficient. I
was repacking few git repositories and with Cygwin's git, it spawns
threads but they are so badly synchronized that there is no speed gain
over one thread and possible loose because of the overhead. On my
machine I got 7-10% CPU usage while with git build with mingw easily
uses 100%.

You can find the code in question here
https://github.com/git/git/blob/master/builtin/pack-objects.c#L1967-L2094

Do you have any suggestions? Is there any chance to get MT workloads
improved in Cygwin? In present days it is really big problem in my
opinion.

Best Regard

--
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

