rapidyaml
text-unicode
Our great sponsors
rapidyaml | text-unicode | |
---|---|---|
13 | 2 | |
517 | 69 | |
- | - | |
5.7 | 0.0 | |
7 days ago | about 2 years ago | |
C++ | TypeScript | |
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.
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
text-unicode
-
Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in Browser
We had to handroll our own OT implementation inhouse (based on https://github.com/ottypes/text-unicode) since we had built the system for it already. I suspect we would've used or forked CodeMirror's collab package if we were starting today.
Also huge fan of yjs, but the implementation is not compatible with codemirror 6, only version 5 (AFAIK)
-
Accidentally quadratic: When Python is faster than C++
Well said.
I've had a lot of conversations with javascript engineers over the years who've argued to me that well tuned JS will be nearly as fast as the equivalent C code. I've written plenty of little toy benchmarks over the years, and in my experience they're partly right. Well written JS code in V8 can certainly run fast - sometimes around half the speed of C code. But a massive performance gap opens up when you use nontrivial data structures. Nested fields, non-uniform arrays, trees, and so on will all cripple javascript's performance when compared to C's equivalent of simply embedding nested structs. If you couple clean C data structures with allocation-free hot paths from arenas, the performance of C will easily hit 10-20x the performance of the equivalent JS code.
From memory my plain text based operational transform code does ~800k transforms / second in javascript. The equivalent C code does 20M/second. The C implementation is about twice as many lines of code as the JS version though.
(The code in question: https://github.com/ottypes/text-unicode/blob/master/lib/type... / https://github.com/ottypes/libot )
What are some alternatives?
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
codemirror-emacs - Emacs keybindings for CM6
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/
codejar - An embeddable code editor for the browser 🍯
degasolv - Democratize dependency management.
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
flang - Flang is a Fortran language front-end designed for integration with LLVM.
esbuild - An extremely fast bundler for the web
ctl - The C Template Library
Code-Server - VS Code in the browser