← Back to team overview

dolfin team mailing list archive

Re: Dependence on OpenSSL

 

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.

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


Follow ups

References