c-pdk
rapidyaml
c-pdk | rapidyaml | |
---|---|---|
2 | 13 | |
7 | 520 | |
- | - | |
6.5 | 8.1 | |
27 days ago | 7 days ago | |
C | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
c-pdk
-
Faces.js, a JavaScript library for generating vector-based cartoon faces
Extism can be really useful for packaging up and running cross-language libraries!
The most clear information about it is at: https://extism.org, but its a bit focused on the primary use case for Extism, being a universal plugin system.
There is a C PDK (https://github.com/extism/c-pdk) which you'd probably want to use in a new wrapper around your library in C++, and compile it to wasm32 freestanding or WASI, but without emscripten. Extism doesn't currently have an interop layer to emscripten.
-
Extism: make all software programmable with WebAssembly
In C - https://github.com/extism/c-pdk/blob/main/example/count_vowels.c
rapidyaml
-
Faces.js, a JavaScript library for generating vector-based cartoon faces
Interesting, I hadn't come across extism before. How hard would it be to package https://github.com/biojppm/rapidyaml in this way? (And do you have a extism for dummies guide?)
-
A convenient C string API, friendly alongside classic C strings.
The inability, or brittleness, to embed NUL bytes into the string, for once. Zeroed bytes can be valid as an internal bytes of a longer encoded character. And the inefficiency of tempting every caller to rederive the string length on every use, leading to such bugs as quadratic parsing behavior with sscanf. The extra register for an explicit length is a very minute price to pay compared to that.
-
Funniest line of code you wrote while making a game?
Although you still have the other problem of sscanf, where read times can become quadratic.
-
yaml-cpp VS rapidyaml - a user suggested alternative
2 projects | 5 Feb 2022
- Since this is about json parsing and the tdarr json db can take ungodly times to load, maybe it's relevant?
- Parsing can become accidentally quadratic because of sscanf
-
"Expanded and Enhanced"
You are really simplifying that issue. A lot of it has to be how the implementation of sscanf works and it's super easy to abuse by complete accident when a lot of data needs to be read and parsed to correct values. See more here: https://github.com/biojppm/rapidyaml/issues/40
-
Accidentally quadratic: When Python is faster than C++
Leading to eye-rolling problems like these: https://github.com/biojppm/rapidyaml/issues/40
What are some alternatives?
rust-pdk - Extism Plug-in Development Kit (PDK) for Rust
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
haskell-pdk - Extism Plug-in development kit (PDK) for Haskell
json-c - https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/
assemblyscript-pdk - Extism Plug-in Development Kit (PDK) for AssemblyScript
degasolv - Democratize dependency management.
go-pdk - Extism Plug-in Development Kit (PDK) for Go
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
component-model - Repository for design and specification of the Component Model
ctl - The C Template Library