crunchy-bytes VS refl-cpp

Compare crunchy-bytes vs refl-cpp and see what are their differences.

refl-cpp

Static reflection for C++17 (compile-time enumeration, attributes, proxies, overloads, template functions, metaprogramming). (by veselink1)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
crunchy-bytes refl-cpp
2 3
6 1,015
- -
0.0 0.0
almost 2 years ago over 1 year ago
C++ C++
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

crunchy-bytes

Posts with mentions or reviews of crunchy-bytes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-24.

refl-cpp

Posts with mentions or reviews of refl-cpp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-04.
  • Out of bounds memory access in V8 in Google Chrome prior to 120.0.6099.224
    1 project | news.ycombinator.com | 25 Jan 2024
    You'd be surprised how much friction you'd have for C++ reflection. First, since it's a custom build step, you can do a mix of custom code gen and C++ constexpr/consteval for static reflection. Here's a header-only implementation for adding compile time reflection purely within the language [1]. And v8 already does dynamic code gen as part of its build process (to generate the snapshot to speedup instantiation of the isolate). Dynamic reflection is a must since JS is a dynamic language with reflection support.

    Now of course, I don't know the specific details of reflection needed for the abstractions you reference and clearly V8 is still doing some amount of manual IR generation, so it's possible it would be a substantial investment to actually retrofit those techniques into v8. One would have to do a careful analysis of historical security exploits & specific techniques and their ability to prevent to figure out if it's worth adding those abstractions (especially since there is a potential performance tradeoff as you mention). As I said, I think there's insufficient research in this area to establish a compelling body of best practices (not to take away from the contributions of the GraalJS team to this space).

    [1] https://github.com/veselink1/refl-cpp

  • C++ Reflection for Component Serialization and Inspection
    3 projects | /r/gameenginedevs | 4 Mar 2023
    I’ve been using https://github.com/veselink1/refl-cpp for my recent project where i needed reflections, especially for serialization. Cant wait for c++48 and reflections in standard
  • Show HN: Static reflection for C++17 (enumeration, attributes, proxies, ...)
    1 project | news.ycombinator.com | 5 Jan 2022

What are some alternatives?

When comparing crunchy-bytes and refl-cpp you can also consider the following projects:

cereal - A C++11 library for serialization

svector - Compact SVO optimized vector for C++17 or higher

glfwpp - GLFW C++ Wrapper - thin, modern, C++17, header-only GLFW wrapper

entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

cnl - A Compositional Numeric Library for C++

json - JSON for Modern C++

Magic Enum C++ - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code

scope_guard - A modern C++ scope guard that is easy to use but hard to misuse.

protopuf - Protocol Puffers: A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20

BLIB - Small organized collection of common code I have accumulated over the years that has amassed into a proper 2d game engine

palanteer - Visual Python and C++ nanosecond profiler, logger, tests enabler

zxorm - Zach's ORM - A C++20 ORM for SQLite