From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <64cc61c082febe489ac3244473bb4ca4@brasstown.quanstro.net> References: <64cc61c082febe489ac3244473bb4ca4@brasstown.quanstro.net> Date: Sun, 22 Sep 2013 15:48:39 +1000 Message-ID: From: Bruce Ellis To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=001a11c3851e9bda2004e6f2747c Subject: Re: [9fans] userspace semlocks Topicbox-Message-UUID: 80dcaa58-ead8-11e9-9d60-3106f5b1d025 --001a11c3851e9bda2004e6f2747c Content-Type: text/plain; charset=UTF-8 you are missing the reason. read the paper. brucee On 22 September 2013 12:55, erik quanstrom wrote: > when i measure chan send performance with the attached program with > the semaphore locks that have been made the default for sources and > with the old locks, the old locks surprisingly outperform the new ones > by a large margin. > > the test is let O be the number of buffers in the channel, and M be > the number of sending procs, then cycles is the number of machine > cycles required to send 1<<21 messages per proc, and receive them > on a single listener. > > on my machine, i get the following raw numbers (averaged over a few tries): > > new 1.84e9 cycles O=10 M=1 > old 1.10e9 > > new 4.61e9 O=0 M=1 > old 4.38e9 > > new 1.55e10 O=10 M=8 > old 2.74e10 > > new 3.64e10 O=0 M=8 > old 5.14e10 > > am i doing something fundamental wrong, or are the new locks substantially > slower than the old ones? > > - erik --001a11c3851e9bda2004e6f2747c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
you are missing the reason. read the paper.

=
brucee


On 22 September 2013 12:55, erik quanstrom <= quanstro@quanstr= o.net> wrote:
when i measure chan send performance with th= e attached program with
the semaphore locks that have been made the default for sources and
with the old locks, the old locks surprisingly outperform the new ones
by a large margin.

the test is let O be the number of buffers in the channel, and M be
the number of sending procs, then cycles is the number of machine
cycles required to send 1<<21 messages per proc, and receive them
on a single listener.

on my machine, i get the following raw numbers (averaged over a few tries):=

=C2=A0 =C2=A0 =C2=A0 =C2=A0 new =C2=A0 =C2=A0 1.84e9 cycles =C2=A0 O=3D10 = =C2=A0 =C2=A0M=3D1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 old =C2=A0 =C2=A0 1.10e9

=C2=A0 =C2=A0 =C2=A0 =C2=A0 new =C2=A0 =C2=A0 4.61e9 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0O=3D0 =C2=A0 =C2=A0 M=3D1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 old =C2=A0 =C2=A0 4.38e9

=C2=A0 =C2=A0 =C2=A0 =C2=A0 new =C2=A0 =C2=A0 1.55e10 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 O=3D10 =C2=A0 =C2=A0M=3D8
=C2=A0 =C2=A0 =C2=A0 =C2=A0 old =C2=A0 =C2=A0 2.74e10

=C2=A0 =C2=A0 =C2=A0 =C2=A0 new =C2=A0 =C2=A0 3.64e10 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 O=3D0 =C2=A0 =C2=A0 M=3D8
=C2=A0 =C2=A0 =C2=A0 =C2=A0 old =C2=A0 =C2=A0 5.14e10

am i doing something fundamental wrong, or are the new locks substantially<= br> slower than the old ones?

- erik

--001a11c3851e9bda2004e6f2747c--