Skip to content

Conversation

art049
Copy link
Member

@art049 art049 commented Jul 4, 2023

  • Fix optimized out benches:
    • Recursive
    • Recursive[20]
    • Recursive[21]

@art049 art049 force-pushed the feat/add-warmup branch from e60f99d to 6f198a6 Compare July 4, 2023 18:06
@codspeed-hq
Copy link

codspeed-hq bot commented Jul 5, 2023

CodSpeed Performance Report

Merging #5 will improve performances by 83.64%

Comparing feat/add-warmup (bb6087f) with main (f9fbacd)

Summary

🔥 8 improvements
✅ 43 untouched benchmarks

Benchmarks breakdown

Benchmark main feat/add-warmup Change
🔥 Iterative 211.1 ns 180 ns +17.28%
🔥 Iterative[20] 211.1 ns 180 ns +17.28%
🔥 Iterative[21] 221.1 ns 190 ns +16.37%
🔥 from_elem[1024] 4.2 µs 2.3 µs +83.64%
🔥 from_elem_decimal[2048] 5.1 µs 4.7 µs +8.31%
🔥 Auto 223.3 ns 195.6 ns +14.2%
🔥 Linear 223.3 ns 195.6 ns +14.2%
🔥 Flat 700.6 ns 672.8 ns +4.13%

@art049 art049 closed this Jul 25, 2023
@art049 art049 force-pushed the feat/add-warmup branch from 6f198a6 to 79ecdb7 Compare July 25, 2023 15:11
@art049 art049 reopened this Jul 25, 2023
@art049 art049 force-pushed the feat/add-warmup branch from 3c78fcc to dbed76f Compare July 25, 2023 17:00
@art049 art049 force-pushed the feat/add-warmup branch from dbed76f to 9b955a7 Compare July 25, 2023 17:04
@art049 art049 force-pushed the feat/add-warmup branch from 2e2ca37 to bb6087f Compare July 26, 2023 09:33
@art049 art049 merged commit bb6087f into main Jul 26, 2023
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
440: chore(deps): update pre-commit/action action to v3 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pre-commit/action](https://github.com/pre-commit/action) | action | major | `v2.0.3` -> `v3.0.0` |

---

### Release Notes

<details>
<summary>pre-commit/action (pre-commit/action)</summary>

### [`v3.0.0`](https://github.com/pre-commit/action/releases/tag/v3.0.0): pre-commit/[email protected]

[Compare Source](https://github.com/pre-commit/action/compare/v2.0.3...v3.0.0)

##### Breaking

-   remove pushing behaviour.
    -   PR [#&#8203;164](https://github.com/pre-commit/action/issues/164) by [`@&#8203;asottile](https://github.com/asottile).`

see [README] for alternatives

[README]: https://github.com/pre-commit/action#using-this-action-in-private-repositories

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


443: chore(deps): update rust crate codspeed-criterion-compat to v2 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://github.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | major | `1.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/12](https://github.com/CodSpeedHQ/codspeed-rust/pull/12)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

### [`v2.1.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.1.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.0.0...v2.1.0)

#### 🎉 What's Changed

-   Relative paths are now properly handled when using the `working-directory` action parameter.

#### 📚 Details

-   fix: fix relative path when using working-directory by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/9](https://github.com/CodSpeedHQ/codspeed-rust/pull/9)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.0.0...v2.1.0

### [`v2.0.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.0.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/[email protected])

#### 🎉 What's Changed

-   Each benchmark is warmed up before each run to reduce the flakiness and the side effects related to the order in which the benchmarks are run.
-   `AsyncBencher` is now supported with the `criterion` compatibility layer.
-   Debug symbols are now generated during the build of the benchmarks, allowing more granularity in the performance reports and detailed profiling. More details can be found in [the documentation](https://docs.codspeed.io/features/trace-generation).

#### 🚀 Migration Path

This is a **breaking change** and might affect your current performance baseline a bit. But here's the exciting part - it's packed with new, cool features and promises improved result stability 🎉!

In some cases, the warmup might optimize out the benchmark. In that case, adding `black_box` should help, also don't hesitate to open an issue so we can have a look and document the behavior.

We recommend you create a standalone PR to update the package, acknowledge the potential regressions, and merge it to update the baseline on your default branch.

#### 📚 Details

##### Features

-   feat: add debug symbols in the benchmark build config by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/4](https://github.com/CodSpeedHQ/codspeed-rust/pull/4)
-   feat: add AsyncBencher support by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/7](https://github.com/CodSpeedHQ/codspeed-rust/pull/7)
-   feat!: add warmup runs  by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/5](https://github.com/CodSpeedHQ/codspeed-rust/pull/5)

##### Internals

-   chore: bump criterion by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/8](https://github.com/CodSpeedHQ/codspeed-rust/pull/8)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v1.1.0...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
443: chore(deps): update rust crate codspeed-criterion-compat to v2 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://github.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | major | `1.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/12](https://github.com/CodSpeedHQ/codspeed-rust/pull/12)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

### [`v2.1.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.1.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.0.0...v2.1.0)

#### 🎉 What's Changed

-   Relative paths are now properly handled when using the `working-directory` action parameter.

#### 📚 Details

-   fix: fix relative path when using working-directory by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/9](https://github.com/CodSpeedHQ/codspeed-rust/pull/9)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.0.0...v2.1.0

### [`v2.0.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.0.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/[email protected])

#### 🎉 What's Changed

-   Each benchmark is warmed up before each run to reduce the flakiness and the side effects related to the order in which the benchmarks are run.
-   `AsyncBencher` is now supported with the `criterion` compatibility layer.
-   Debug symbols are now generated during the build of the benchmarks, allowing more granularity in the performance reports and detailed profiling. More details can be found in [the documentation](https://docs.codspeed.io/features/trace-generation).

#### 🚀 Migration Path

This is a **breaking change** and might affect your current performance baseline a bit. But here's the exciting part - it's packed with new, cool features and promises improved result stability 🎉!

In some cases, the warmup might optimize out the benchmark. In that case, adding `black_box` should help, also don't hesitate to open an issue so we can have a look and document the behavior.

We recommend you create a standalone PR to update the package, acknowledge the potential regressions, and merge it to update the baseline on your default branch.

#### 📚 Details

##### Features

-   feat: add debug symbols in the benchmark build config by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/4](https://github.com/CodSpeedHQ/codspeed-rust/pull/4)
-   feat: add AsyncBencher support by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/7](https://github.com/CodSpeedHQ/codspeed-rust/pull/7)
-   feat!: add warmup runs  by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/5](https://github.com/CodSpeedHQ/codspeed-rust/pull/5)

##### Internals

-   chore: bump criterion by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/8](https://github.com/CodSpeedHQ/codspeed-rust/pull/8)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v1.1.0...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
443: chore(deps): update rust crate codspeed-criterion-compat to v2 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://github.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | major | `1.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/12](https://github.com/CodSpeedHQ/codspeed-rust/pull/12)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

### [`v2.1.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.1.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.0.0...v2.1.0)

#### 🎉 What's Changed

-   Relative paths are now properly handled when using the `working-directory` action parameter.

#### 📚 Details

-   fix: fix relative path when using working-directory by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/9](https://github.com/CodSpeedHQ/codspeed-rust/pull/9)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.0.0...v2.1.0

### [`v2.0.0`](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.0.0)

[Compare Source](https://github.com/CodSpeedHQ/codspeed-rust/compare/[email protected])

#### 🎉 What's Changed

-   Each benchmark is warmed up before each run to reduce the flakiness and the side effects related to the order in which the benchmarks are run.
-   `AsyncBencher` is now supported with the `criterion` compatibility layer.
-   Debug symbols are now generated during the build of the benchmarks, allowing more granularity in the performance reports and detailed profiling. More details can be found in [the documentation](https://docs.codspeed.io/features/trace-generation).

#### 🚀 Migration Path

This is a **breaking change** and might affect your current performance baseline a bit. But here's the exciting part - it's packed with new, cool features and promises improved result stability 🎉!

In some cases, the warmup might optimize out the benchmark. In that case, adding `black_box` should help, also don't hesitate to open an issue so we can have a look and document the behavior.

We recommend you create a standalone PR to update the package, acknowledge the potential regressions, and merge it to update the baseline on your default branch.

#### 📚 Details

##### Features

-   feat: add debug symbols in the benchmark build config by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/4](https://github.com/CodSpeedHQ/codspeed-rust/pull/4)
-   feat: add AsyncBencher support by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/7](https://github.com/CodSpeedHQ/codspeed-rust/pull/7)
-   feat!: add warmup runs  by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/5](https://github.com/CodSpeedHQ/codspeed-rust/pull/5)

##### Internals

-   chore: bump criterion by [`@&#8203;art049](https://github.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/8](https://github.com/CodSpeedHQ/codspeed-rust/pull/8)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v1.1.0...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant