Giter Club home page Giter Club logo

Comments (7)

tarcieri avatar tarcieri commented on August 20, 2024 1

I would think that specifying curve25519_dalek_backend would override autodetection

from curve25519-dalek.

tarcieri avatar tarcieri commented on August 20, 2024 1

If there's ever autodetection for mobile platforms, we might want to turn it off if it's not enough of a speedup to be worth the extra code.

I would think mobile platforms are ARM64, in which case the neon target feature is enabled by default (#457)

from curve25519-dalek.

pinkforest avatar pinkforest commented on August 20, 2024

Some q's

  1. Which use-cases would need to disable the CPU detecion ?
    1.1) Or is this just in case something goes wrong a.k.a "break glass" ?

  2. Is there much use for disabling CPU detection in granular basis
    2.1) Or should there be just plain override vs disallowing detection one-by-one ?

  3. Should we just re-use cfg(curve25519_dalek_backend) "override"
    3.1) which could be simd | simd_avx512 | simd_avx2

  4. We already use some hazardous / risky features that should be enabled with care and
    4.1) not sure how many (would) use --all-features

  5. If consensus is to do feature-set here then should the existing cfg(*_dalek_*) also migrated as features

Having a plain override with cfg() would align to everything else - it would be great to know what use-cases there are to make it easier if it's widely expected to be used ?

from curve25519-dalek.

jrose-signal avatar jrose-signal commented on August 20, 2024

One use case for us (Signal) is code size, though not on Intel platforms. If there's ever autodetection for mobile platforms, we might want to turn it off if it's not enough of a speedup to be worth the extra code.

from curve25519-dalek.

pinkforest avatar pinkforest commented on August 20, 2024

Yeah consensus here seems to be that override seems to be the best.

There is this discussion re-opened so let's redirect there to simplify things further:

from curve25519-dalek.

tarcieri avatar tarcieri commented on August 20, 2024

Oh sorry, I forgot you opened this issue, but thanks for directing the conversation back to #414

from curve25519-dalek.

pinkforest avatar pinkforest commented on August 20, 2024

Yeah I think we got consensus on this issue so your get-together words it well what needs ot happen overall :)

I mainly tried to gather use-cases to surface where additional complexity would be required but I don't think we have any.

from curve25519-dalek.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.