Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Jan 2016 15:19:41 -0500
From:      Allan Jude <allanjude@freebsd.org>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        "Jonathan T. Looney" <jtl@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r292955 - head/lib/libmd
Message-ID:  <568830DD.4080006@freebsd.org>
In-Reply-To: <20160102210313.M934@besplex.bde.org>
References:  <201512301804.tBUI4oGp065466@repo.freebsd.org> <20151231115651.R995@besplex.bde.org> <20151231143314.Y1520@besplex.bde.org> <5684D606.3080609@freebsd.org> <D2AADE36.4E8D4%jlooney@juniper.net> <56857911.5010205@freebsd.org> <56876DF1.4030807@freebsd.org> <20160102210313.M934@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--Wi6QfO8nTjV1lrg40kwbNOGXqaFa80LtA
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On 2016-01-02 05:07, Bruce Evans wrote:
> On Sat, 2 Jan 2016, Allan Jude wrote:
>=20
>> On 2015-12-31 13:50, Allan Jude wrote:
>>> On 2015-12-31 13:32, Jonathan T. Looney wrote:
>>>> On 12/31/15, 2:15 AM, "Allan Jude" <allanjude@freebsd.org> wrote:
>>>>
>>>>> It seems these problems also slow things down, a lot:
>>>>>
>>>>> # time md5 /media/md5test/bigdata
>>>>> MD5 (/media/md5test/bigdata) =3D 6afad0bf5d8318093e943229be05be67
>>>>> 4.310u 3.476s 0:07.79 99.8%     20+167k 0+0io 0pf+0w
>>>>> # time env LD_PRELOAD=3D/usr/obj/media/svn/md5/head/tmp/lib/libmd.s=
o
>>>>> /usr/obj/media/svn/md5/head/sbin/md5/md5 /media/md5test/bigdata
>>>>> MD5 (/media/md5test/bigdata) =3D 6afad0bf5d8318093e943229be05be67
>>>>> 4.133u 0.354s 0:04.49 99.7%     20+167k 1+0io 0pf+0w
>>>>>
>>>>> (file is fully cached in ZFS ARC, dd reads it at 11GB/s)
>>>>>
>>>>> Will investigate more tomorrow.
>>>>
>>>> md5 will be slower than dd due to the extra processing it needs to
>>>> do to
>>>> generate the hash. I suspect that explains the difference you're see=
ing
>>>> between those utilities.
>>>
>>> Sorry, you missed my point here.
>>>
>>> I replaced MDXFile() with the implementation included in my earlier
>>> email. Using the newer libmd with that code, cut the time to md5 the
>>> SAME data down a lot. I need to do a more scientific test on a box th=
at
>>> isn't doing other stuff still though.
>>>
>>> The comment about dd doing 11GB/s, was just to clarify that I wasn't
>>> reading the file from disk, which would introduce other variables.
>>
>> I found the cause of my bogus benchmark, the world on my test machine
>> was just old enough to be missing jmg@'s bufsize patch.
>>
>> Now the difference is about 1 second on a 2GB file, so ignore my
>> foolishness.
>=20
> That patch is surprisingly new.
>=20
> The main slowness that I complained about was for the other path in md5=

> that must be used for special files.  That uses stdio so it suffers fro=
m
> stdio trusting st_blksize.  But st_blksize is rarely as small as the ol=
d
> size BUFSIZ in MDXFile.
>=20
> Bruce
>=20

I did some experiments on MDXFilter, adjusting the buffer size fo 16kb,
and using setvbuf() on stdin before reading from it. It improved things,
but only marginally.

dd if=3D/mnt/bigzerofile bs=3D1m | md5

10 GB took 80 seconds for unmodified md5, and 73.5 seconds with the
bigger buffer size.

I will try to setup and flamegraph it, and see if we can determine what
can be done to make it faster.

--=20
Allan Jude


--Wi6QfO8nTjV1lrg40kwbNOGXqaFa80LtA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)

iQIcBAEBAgAGBQJWiDDgAAoJEBmVNT4SmAt++V4QAIFqNPQfNz70nWB4H9FLjwNv
/wYiRttW4F2qKpYTutWBihciRCFDwifLoVmdeUg4BJd+j63pOgpO3Y74pdpxkA2k
DEym4FIdMAlVTG2sw8PqxZlbpxEKU1qr+RIercR7AmiPyGZpkoHtR+3USWFNpR+A
6PoLpUr77TbwfXEhlegueiwnTWeu3OmqqJZTQ8+CJdn6za7hVeNlPLVYWvOnPYvx
65gLzLuy/cgwtb9CvabmTF577Vyi9nxGrm5SQIUIo5T40J8OJmLc9JhYZaTZ4qwg
pATgWxR3JoFVY0ZKloveWMUmB3FryVkPBfhHvGZTJ5VdVpc7PK5W6Uk/RX5EoqSJ
UB1Bmp0YnOafKuHzLLmzH24AcC4DShZiYwljaXJ/k+S7leZpjecyhb0veuTgMYvj
IYrtaVJY2zMaUJw9VPI2ksyFwXZ4e/jcSoGgsMuzHDm6Q+74jBv8D8PVZjhOKZ+1
hNzccQJqqTzjXOMNOX9xUqr+R4bAmzIIr63xQcZC/M9V46u0B15ZFi1VqEQkDrxy
tOvhvmh8BFrSyNZIxiFGLX6TePVMjCDvMpyGq+Z1nfWl1VOuUlLeNBiX/EjtBhIy
m710LajAvRU+YiYYWPeVEpnL33XQI/xqIQULq8UAXlKz139tePe47BROGs/ySikt
/QlrSshZw7NqOh8Z+UWI
=oG7U
-----END PGP SIGNATURE-----

--Wi6QfO8nTjV1lrg40kwbNOGXqaFa80LtA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?568830DD.4080006>