text-unicode
ctl
text-unicode | ctl | |
---|---|---|
2 | 19 | |
69 | 1,065 | |
- | - | |
0.0 | 0.0 | |
about 2 years ago | over 2 years ago | |
TypeScript | C | |
- | 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.
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 )
ctl
-
Popular Data Structure Libraries in C ?
C Container Template Library (CTL)
- C Template Library
-
Template generator for C?
I guess something like that may exist but it can be done with the preprocessor alone. See https://github.com/tylov/STC or https://github.com/glouw/ctl
-
STC Templated Containers library V3.8
I assume you refer to that two of the letters match with STL or STD, right? Even if they are not related to C at all. I assume STB, CTL, are not acceptable for you either?
- Modern programming languages require generics
-
How to make develop C application easier?
The standard C library lacks any kind of containers (vectors, hash tables etc.) so the first thing would be to find one you like. For example, the C Template Library is a nice one: https://github.com/glouw/ctl
-
The Rust compiler has gotten faster again
While I agree the common pattern is to use void*/dynamic dispatch, this is not necessary. E.g., https://github.com/glouw/ctl/ or https://github.com/c-blake/bst show a couple ways to have generic code statically specialized in regular old C.
-
STC 2.0: standard template containers for C
The template instantiation is rewritten and is now similar to how glouw CTL library does it. STC no longer contains long macros for generating the templated code.
-
Quasi general AVL-Tree implementation
define type macros before #including the implementation. (intrusive) This is how https://github.com/glouw/ctl does it. The good: type-safety. no casting, clear error messages. Somewhat clumsy to have to individual #includes for each container type instantiation of the same container.
- Metaprogramming custom control structures in C
What are some alternatives?
rapidyaml - Rapid YAML - a library to parse and emit YAML, and do it fast.
src - Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.
codemirror-emacs - Emacs keybindings for CM6
STC - A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.
codejar - An embeddable code editor for the browser 🍯
stc - Speedy TypeScript type checker
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
ixy-languages - A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python
flang - Flang is a Fortran language front-end designed for integration with LLVM.
esbuild - An extremely fast bundler for the web
Klib - A standalone and lightweight C library