Comments (7)
- I can't find it in the elixir changelog itself, for visibility might be good to add it there as well: https://github.com/elixir-lang/elixir/blob/v1.16/CHANGELOG.md
from benchee.
It was fixed in 1.16.0-rc.1 but since when did it exist?
This has been introduced with this commit and has been there since 1.14 as far as I can tell.
1.13.4 doesn't have the optimization removal.
Also, I'd guess the issue only appears in "full" top level mode. i.e. if you put all of Benchee.run into a module function it likely won't occur?
That is correct, I just confirmed it in practice.
I can't find it in the elixir changelog itself, for visibility might be good to add it there as well: https://github.com/elixir-lang/elixir/blob/v1.16/CHANGELOG.md
I agree 👍 Maybe we could announce it on the elixir forum in the specific context of Benchee as well.
from benchee.
Alright, I also went ahead copied your benchmark and ran it on the different versions: https://github.com/PragTob/elixir_playground/blob/main/bench/top_level_functions.exs
I'll PR the changelog (if you haven't already) to check my understanding. Already reached out to an elixiforum mod about how to best post about it.
Will probably also find some section in the README for it and mention it in the changelog for a version I'll hopefully release some time this week but I've been too optimistic in the past 😂
from benchee.
I'll PR the changelog (if you haven't already) to check my understanding. Already reached out to an elixiforum mod about how to best post about it.
I haven't yet, please go ahead 🙂
from benchee.
PR filed ☝️
from benchee.
Hey, thanks for the report! Do you know how far back this issue goes? It was fixed in 1.16.0-rc.1 but since when did it exist? We had been discussing recommending people to only use it from modules.
Also, I'd guess the issue only appears in "full" top level mode. i.e. if you put all of Benchee.run
into a module function it likely won't occur?
from benchee.
#407 filed, I'll still fix up a bit and after it's merged probably put the same content with a bit more color into a blog post to PSA folks
from benchee.
Related Issues (20)
- Sugguestion: Express time in `h:m:s` HOT 4
- Promote use of keywords lists instead maps for job list HOT 3
- Is it worth releasing a new version? HOT 2
- Is there an option to try all possible scenarios once to know early if some would raise ? HOT 2
- Suggestion: Option to kill long-running scenarios early HOT 2
- Is it possible to benchmark a subprocess call like `python -c "8*9"`? HOT 5
- Question: Benchmark function operations ? HOT 1
- Warn if the benchmarking function is evaluating HOT 2
- Benchee throws an exception when running in the Livebook-App HOT 3
- Benchee warning when used in mix task HOT 2
- Unpredictable experiment order in output HOT 1
- Elixir provide HOT 1
- Built in outlier detection
- suggestion HOT 1
- (Protocol.UndefinedError) protocol List.Chars not implemented for {:error, :bad_name} HOT 5
- High memory consumption on some cases HOT 8
- Avoid handing all of inputs to every scenario process
- Add Solaris Support to Benchee.System HOT 3
- Benchmarking between BEAM versions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from benchee.