sokuteihq / sokutei Goto Github PK
View Code? Open in Web Editor NEWPlatform-independent microbenchmarking in C.
Platform-independent microbenchmarking in C.
By providing issue templates, we can make the interaction between the community and the developers a more streamlined experience. Thus, we should create templates for the most important issue types.
Create appropriate issue templates for the most important expected issue types.
Use the following resources as guidelines:
The ensure_counter function is a counter creator but as opposed to other creators, this function does not generate an error if called multiple times with the same parameter. This way, we can create counters in the benchmarked function without having to create them before the call.
Publishing a new version of the library should be an automated process, making use of GitHub Actions.
Create a GitHub Actions Workflow which
Primers on CI/CD:
Make sure to check out the following links if you're not familiar with GitHub Actions yet:
To increase community engagement and decrease the number of question
issues, we should create a Discord server. This would come with the added benefit of people getting answers quicker as opposed to the GitHub Issues section.
Create a Discord server for sokutei, where
The following Discord servers can be used as examples:
To make the project more approachable for others, we should create a CONTRIBUTING.md
document.
Create a CONTRIBUTING.md
document which contains the following information:
The following links contain useful guidance:
A recently created one:
People can't safely make use of our code without a license. Thus, it's crucial to choose one.
Choose and add a LICENSE
to the project.
The three counter types featured by Sokutei are as follows: integer, float and interval. Out of these three, integer seems like the easiest one, so it's a great first issue to create the foundations of the library.
Thus, this epic has two roles:
Clients should be able to
Example API:
sokutei_create_integer_counter("some counter");
This call/macro should create a new integer counter with the name some counter
.
Parameters
Error Handling
Example API:
sokutei_alter_integer_counter("some counter", -10);
This call/macro should alter the value stored by some counter
by -10
.
Parameters
Error Handling
Example API:
sokutei_get_integer_counter("some counter")
Parameters
Error Handling
Example API:
#define SOKUTEI_INTEGER_COUNTER_TYPE int
By defining this macro, users can change the underlying type of integer counters (the type in which the counter value is stored). A default value should be provided if the user does not define this macro.
Implementation should be done so that other counter types can be easily added.
The implementation should not make use of dynamic memory allocations.
The implementation should not include any headers. Not even ones from the standard library.
Navigating the repo is much easier if there is a pre-defined and consistently applied branch naming strategy.
#<issue-number>-<hyphenated-issue-name>
#11-enforce-consistent-branch-naming-strategy
CONTRIBUTING.md
file (#13).As of now, we have no testing process set up. However, we would like to have an extensive test coverage of the library.
Set up test builds with CMake and write an example test using https://github.com/silentbicycle/greatest
Feel free to copy greatest.h
into the repository source tree.
Tests should run on every integration so that we can catch bugs early. Therefore, create a GitHub Actions Workflow running the tests.
Create a GitHub Actions workflow which
Primers on CI/CD:
Make sure to check out the following links if you're not familiar with GitHub Actions yet:
Depends on #21
As part of the increased open source friendliness initiative, we should add a Code of Conduct to the project.
Add a CODE_OF_CONDUCT.md
to the project with appropriate contents.
A great "drop-in" Code of Conduct is the one provided by the Contributor Covenant.
Navigating the commit and version history is much easier if commit messages have a pre-defined style.
CONTRIBUTING.md
file (#13).A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.