-
Notifications
You must be signed in to change notification settings - Fork 25
Updated fennecs to 0.4.0-beta #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…tests first iteration implemented
| if (args.Contains("--ranking")) | ||
| { | ||
| List<string> argList = args.ToList(); | ||
| argList.Remove("--ranking"); | ||
| args = argList.ToArray(); | ||
| configuration = configuration.WithOrderer(new DefaultOrderer(SummaryOrderPolicy.FastestToSlowest)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this is an active or not settings in benchmarkdotnet. I'm thinking that maybe it would be better to stick to their philosophy (and what I'm doing for the CHECK_CACHE_MISSES define and HardwareCounters attribute for exemple 🤔). What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can go with the #define (to make starting conditions more uniform), but I'd still use it at the configuration level, rather than at the Attribute level. (BenchmarkDotNet encourages both).
Working on it right now..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IConfig configuration = DefaultConfig.Instance
.WithOptions(ConfigOptions.DisableOptimizationsValidator)
.WithCapabilityExclusions();
#if RANK_RESULTS
configuration = configuration.WithOrderer(new BenchmarkDotNet.Order.DefaultOrderer(BenchmarkDotNet.Order.SummaryOrderPolicy.FastestToSlowest));
#endif
if (args.Length > 0)
{
benchmark.Run(args, configuration);
}
else
{
benchmark.RunAll(configuration);
}There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me know what you think, otherwise I can just remove the change entirely. For my own workflow, the define is certainly less convenient than a command line parameter, but it's your repo and you also run the benchmark in its full scale, so this is what counts.
…ities.cs, and changed the --ranking option to a RANK_RESULTS define
|
My bad, I renamed the branch on my repo :D |
Hello!
I'm Tiger, the maintainer of 🦊 fennecs. Thanks for making this nice Benchmark repo, and thanks so much to @xentripetal for building the fennecs benchmarks. And I'm also a big fan of DefaultEcs. ^^
Content of this PR
Framework
#define RANK_RESULTS, which adds an Orderer to the Config. While iterating, developers can now more clearly see where their fast/slow methods are at in relation to others.WithCapabilityExclusions(this IConfig)was written and Program.cs uses it at startupCategoryExclusion : IFilterwas created and documented - if this filter is present, it will turn off any categories it matches. (it supports a single string)WithCapabilityExclusionsCapabilitiesin Categories.cs was createdCapabilities.AdvSIMDwill only show up on appropriate Arm64 platforms.SystemWithTwoComponentsMultipleCompositionSystemWithOneComponentsSystemWithTwoComponentsSystemWithThreeComponentsfennecs 0.4.0-beta support
fennecs 0.1.1-betato the recent release,fennecs 0.4.0-betaCategory.System, and wrote additional ones:Query<>.RawBenchmarks now have x64 AVX2, SSE2, and Arm64 AdvSIMD support, with commentsfennecs (Blit)benchmark bends the rules too far... 🗡️Have a good day, and I'm looking forward to your review/feedback.