← Back to team overview

dolfin team mailing list archive

Re: Dependence on OpenSSL

 



Andy Ray Terrel wrote:
On Tue, Oct 6, 2009 at 2:43 PM, Anders Logg <logg@xxxxxxxxx> wrote:
On Tue, Oct 06, 2009 at 02:28:40PM -0500, Andy Ray Terrel wrote:
Sorry for being dense but computing the SHA1 hash for what essentially
is a string compare seems a bit overkill.
I want to avoid a call to strcmp in a piece of code that needs to be
fast. What I do (it seems to work now) is to compute the 20 byte SHA-1
hash from the ~40 byte finite element signature which is typically
something like

 FiniteElement('Lagrange', 'triangle', 1)

I then cast the SHA-1 hash to an 8 byte void* and use that for
comparison. This may not be very safe but this is not exactly
cryptography. The number of possible hashes is the same as the address
space so it should be fine.

--
Anders



Yes I guess if you have a large number of comparisons it might be
faster.  I forget there are a lot of signature checks for the function
space stuff.

Computing the hash is O(n) just like strcmp, it really depends on the
constants.  I would just do the timing before I said anything.

I looked there are a lot of libraries out there for this but OpenSSL
is by far the most pervasive.


What about boost::hash since we already depend on Boost?

Garth

-- Andy



On Tue, Oct 6, 2009 at 2:18 PM, Anders Logg <logg@xxxxxxxxx> wrote:
I'm contemplating adding a dependency to OpenSSL for computing hashes
of things like element signatures.

This is what breaks Kristian's code. Comparing element pointers does
not work since the UFC class creates its own elements which are
different from the ones existing in FunctionSpace classes.

Would there be any difficulties with depending on OpenSSL? Are there
simpler alternatives for a function that takes a string a returns a
message digest like the SHA1 function in OpenSSL?


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkrLmCAACgkQTuwUCDsYZdEk3ACgl7+tHjclHzLesh+g/1vOzIo9
tJsAn1fHGu+dzyA/ndNpy88/RFWNTbEB
=24AA
-----END PGP SIGNATURE-----

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkrLndAACgkQTuwUCDsYZdFlWACePT0FglJU+NTPnOBXi/h7WcHC
E5EAn2vinxerlg6jTNuA4T+0Kp+CFuhz
=68Dm
-----END PGP SIGNATURE-----

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev




References