hana
Scylla
Our great sponsors
hana | Scylla | |
---|---|---|
4 | 19 | |
1,635 | 12,548 | |
1.7% | 3.1% | |
5.1 | 10.0 | |
12 days ago | 2 days ago | |
C++ | C++ | |
Boost Software License 1.0 | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hana
-
What are some C++ projects with high quality code that I can read through?
I like boost::hana. Wish I had more chances to use it at work.
-
Simple `struct` static reflection system I use that tracks names, attributes (in my own code I also keep `constexpr` hashes of names) -- example gets fully inlined into `main()`
And then there's also the longstanding issue with default member initializers -- https://github.com/boostorg/hana/issues/409 -- which was a deal-breaker.The PROP system avoids this issue precisely by having the macro be as local as possible: the default member initializer is outside the macro. It does this while still letting you attach additional PropAttribs metadata (I'm not sure what additional metadata attachment looks like in Hana? haven't really tried). Default values and additional attributes are by and large quite more important to me in my use cases for reflection (component types in game ECS) than range syntax (everything I've needed and can think of needing is covered by for-each loop).
-
cppa2z - Document modern C++ using unit tests
oh yes definitely, but I meant more the particular way I've done it so far - which has been to implement something similar to boost::hana::is_valid(), to make it take the least amount of boilerplate code per-use-case as possible: zero additional lines of code.
-
C Implementation Challenge Replacing Stdmove And
Boost.Hana developers measured a very noticeable 15% decrease in compile time switching from a function call (admittedly -- with an additional layer of wrapper) to a raw static_cast. foonathan himself saw a little over a 5% decrease in his actual code. miki151 saw about a 3% improvement from replacing move with MOV only, ignoring forward. In a completely synthetic benchmark where I just generate a ton of move calls in a row, I get a little over 40% decrease in compile time.
Scylla
- ScyllaDB: NoSQL data store using the seastar framework
-
Database 101: How to Model Leaderboards for 1M Player's Game.
Then I decided to talk to my boss and ask him if I could work with the YARG guys and the condition was to create something cool enough to implement ScyllaDB (NoSQL Wide-column Database) since I'm working as a Developer Advocate there. You won't believe how the simplicity and scalability brought by ScyllaDB perfectly fit the needs of YARG.in!
- Potential for silent data loss on ScyllaDB 5.2.x
-
Why ScyllaDB is Moving to a New Replication Algorithm: Tablets
ScyllaDB now has initial support for a new replication algorithm: tablets...
-
What are some C++ projects with high quality code that I can read through?
Scylla which is a C++ implementation of the Cassandra distributed K:V store https://github.com/scylladb/scylladb
-
Take Advantage of Git Rebase
What you say is impossible, we pretty successfully apply at ScyllaDB (see https://github.com/scylladb/scylladb/commits/master).
I'm not sure 100% of the commits compile & pass all tests - there may be some mistakes - but generally we're in a pretty good state, and the clean git log is being successfully used for bisecting.
If you want even larger scale - if I understand correctly, the Linux kernel practices a similar thing, which is where we got this practice from (ScyllaDB founders came from kernel development). And since Git was originally created to help developing Linux - that's where you want to look for good practices.
- Reducing logging cost by two orders of magnitude using CLP
- How Palo Alto Networks Replaced Kafka with ScyllaDB for Stream Processing
- Catch exceptions without even try-ing
-
Databases inside or outside k8s cluster?
Examples: - Vitess - MySQL cluster - YugabyteDB - ScyllaDB - Couchbase - ArangoDB
What are some alternatives?
mio - Cross-platform C++11 header-only library for memory mapped file IO
Apache HBase - Apache HBase
sml - C++14 State Machine library
Druid - Apache Druid: a high performance real-time analytics database.
dyno - Runtime polymorphism done right
Apache Cassandra - Mirror of Apache Cassandra
filesystem - An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
OpenTSDB - A scalable, distributed Time Series Database.
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework
druid - A data-first Rust-native UI design toolkit.
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
scylla-operator - The Kubernetes Operator for ScyllaDB