test: update nanobench from release 4.0.0 to 4.3.4 #22082

pull martinus wants to merge 2 commits into bitcoin:master from martinus:2021-05-update-nanobench changing 2 files +187 −53
  1. martinus commented at 5:43 am on May 27, 2021: contributor

    This updates the third-party library nanobench with the latest release. It contains mostly minor bugfixes, a new pyperf output format, ability to suppress warnings with environment variable NANOBENCH_SUPPRESS_WARNINGS. Full changelog:

    v4.0.2

    • Changed doNotOptimizeAway to what google benchmark is doing. The old code did not work on some machines.
    • fix: display correct “total” value
    • minor Documentation updates

    v4.1.0

    v4.2.0

    v4.3.0

    • ankerl::nanobench::Rng can now return the state with std::vector<uint64_t> Rng::state(), and this can also be used to initialize the Rng.

    v4.3.1

    • Minor cmake improvements when integrationg as a third-party library: add alias nanobench::nanobench, default to C++17

    v4.3.2

    • Fixed a MSVC 2015 build problem
    • updates license to 2021.
    • build should now work with very old linux headers
    • Also disable UBSAN (bitcoin needed to add a suppression)

    v4.3.3

    • Do not use locale-dependent std::to_string

    v4.3.4

    • Add missing sanitizer suppression to rotl
  2. martinus commented at 5:43 am on May 27, 2021: contributor
    This update should also fix #21549
  3. fanquake added the label Tests on May 27, 2021
  4. fanquake added the label Upstream on May 27, 2021
  5. sipa commented at 6:17 am on May 27, 2021: member
    Should we consider turning the nanobench import into a git-subtree?
  6. martinus force-pushed on May 27, 2021
  7. martinus renamed this:
    test: update nanobench from release 4.0.0 to 4.3.2
    test: update nanobench from release 4.0.0 to 4.3.3
    on May 27, 2021
  8. martinus commented at 6:57 am on May 27, 2021: contributor

    Should we consider turning the nanobench import into a git-subtree?

    This sounds like a good idea. I’ve never used this feature though, is this something that I can do in the PR, or is this something only a maintainer can do?

  9. laanwj commented at 12:23 pm on May 27, 2021: member

    Concept ACK

    Should we consider turning the nanobench import into a git-subtree?

    Not opposed to it, but I’m not sure adding a subtree for what is one single file makes that much sense. Now at least we don’t have to carry any additional files that might be in the repository. E.g. we don’t subtree tinyformat either.

  10. practicalswift commented at 9:24 pm on May 27, 2021: contributor
    Concept ACK
  11. fanquake commented at 6:16 am on May 28, 2021: member
    Concept ACK - I agree that adding a subtree for a single header seems like overkill. Updates to this file would also seem to be very infrequent.
  12. martinus commented at 6:34 am on May 28, 2021: contributor

    Updates to this file would also seem to be very infrequent.

    I mostly do minor bugfixes now and then when they arise, but I’d consider nanobench to be finished. So there won’t be any major updates.

  13. theStack commented at 11:48 am on May 28, 2021: member
    Concept ACK
  14. MarcoFalke commented at 12:25 pm on May 31, 2021: member

    Also disable UBSAN (bitcoin needed to add a suppression)

    Does that mean we can remove the suppression?

  15. martinus commented at 4:37 am on June 1, 2021: contributor

    Does that mean we can remove the suppression?

    It should work, but I didn’t try it in the bitcoin repository. Also I don’t have clang12 (yet). Should I add a commit to remove the suppression?

  16. MarcoFalke commented at 5:22 am on June 1, 2021: member
    Yes, CI should check it
  17. MarcoFalke commented at 6:52 am on June 1, 2021: member
    ci didn’t like that. maybe the annotation needs to be on rotl itself?
  18. martinus commented at 7:01 am on June 1, 2021: contributor

    ci didn’t like that. maybe the annotation needs to be on rotl itself?

    yes, it needs to be there too… its the code for a fast random generator, so overflows are expected.

  19. test: update nanobench from release 4.0.0 to 4.3.4
    This updates the third-party library nanobench with the latest release. It contains mostly minor bugfixes, a new pyperf output format, ability to suppress warnings with environment variable `NANOBENCH_SUPPRESS_WARNINGS`. Full changelog:
    
    v4.0.2
    * Changed `doNotOptimizeAway` to what google benchmark is doing. The old code did not work on some machines.
    * fix: display correct "total" value
    * minor Documentation updates
    
    v4.1.0
    * Updated link to new pyperf home
    * Adds ability to configure console output time unit
    *  Add support for environment variable `NANOBENCH_SUPPRESS_WARNINGS`
    * Nanobench is now usable with CMake's FetchContent (see documentation: https://nanobench.ankerl.com/tutorial.html#cmake-integration)
    
    v4.2.0
    * Ability to store and later compare results added, through `pyperf`.
    * See https://nanobench.ankerl.com/tutorial.html#pyperf-python-pyperf-module-output
    * Added lots of build targets to travis, similar to bitcoin's build.
    * Some minor API & documentation improvements
    
    v4.3.0
    * `ankerl::nanobench::Rng` can now return the state with `std::vector<uint64_t> Rng::state()`, and this can also be used to initialize the Rng.
    
    v4.3.1
    * Minor cmake improvements when integrationg as a third-party library: add alias `nanobench::nanobench`, default to C++17
    
    v4.3.2
    * Fixed a MSVC 2015 build problem
    * updates license to 2021.
    * build should now work with very old linux headers
    * Also disable UBSAN (bitcoin needed to add a suppression)
    
    v4.3.3
    * Do not use locale-dependent `std::to_string`
    
    v4.3.4
    * Add missing sanitizer suppression to `rotl`
    e3c866e3ca
  20. test: remove sanitizer suppression for nanobench
    In #21738 an ASAN suppression for nanobench was added. This is not needed any more,as nanobench.h already includes the necessary suppressions for the relevant code.
    44d05d0a69
  21. martinus force-pushed on Jun 1, 2021
  22. martinus renamed this:
    test: update nanobench from release 4.0.0 to 4.3.3
    test: update nanobench from release 4.0.0 to 4.3.4
    on Jun 1, 2021
  23. martinus commented at 1:39 pm on June 1, 2021: contributor
    I’ve created a new nanobench release for the missing annotation, then rebased with this version, now it compiles with the removed suppression. Ready for review!
  24. MarcoFalke commented at 7:18 am on June 2, 2021: member
    review ACK 44d05d0a69c14ed295b0a7f6c8ec4379d44155e4
  25. MarcoFalke merged this on Jun 2, 2021
  26. MarcoFalke closed this on Jun 2, 2021

  27. martinus deleted the branch on Jun 2, 2021
  28. sidhujag referenced this in commit ab725fba3a on Jun 3, 2021
  29. gwillen referenced this in commit e0e20ba06f on Jun 1, 2022
  30. DrahtBot locked this on Aug 16, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me