← Back to team overview

dolfin team mailing list archive

Re: Dependence on OpenSSL

 

On Tue, Oct 06, 2009 at 09:13:45PM +0100, Garth N. Wells wrote:
>
>
> Anders Logg wrote:
> > On Tue, Oct 06, 2009 at 10:05:24PM +0200, Johan Hake wrote:
> >> On Tuesday 06 October 2009 21:58:29 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.
> >>>>
> >>> 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.
> >> Would it be an idea to extend ufc::finite_element with a hash_signature()?
> >> Then you can compute the hash using hashlib in python during code creation.
> >>
> >> Johan
> >
> > Sounds like a good idea. Only it requires changes to DOLFIN, UFC, FFC
> > and SyFi...
> >
> > Are there any objections to this?
> >
>
> I'm not sure that this is a good idea. It complicates UFC.

It's either that or using boost. I'm looking at both options.

Calling boost is simpler since it requires the smallest change. If we
decide to go with that option now, we can keep this in mind for the
next update of UFC.

--
Anders


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

Attachment: signature.asc
Description: Digital signature


Follow ups

References