Generic-C-DataStructures
A repository for code I wrote while learning to implement generic data structures in C (by TectonicFury)
skybison
A fork of Instagram's experimental performance oriented greenfield implementation of Python. It features small objects; a moving GC; hidden classes; bytecode inline caching; type-specialized bytecode; an experimental template JIT. (by tekknolagi)
Our great sponsors
Generic-C-DataStructures | skybison | |
---|---|---|
3 | 6 | |
1 | 31 | |
- | - | |
4.3 | 6.4 | |
over 2 years ago | 2 months ago | |
C | C++ | |
- | GNU General Public License v3.0 or later |
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.
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.
Generic-C-DataStructures
Posts with mentions or reviews of Generic-C-DataStructures.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-12.
-
15+ year programming willing to help
Hi, I graduated with Chemical engineering and left a dead end job late last year in oil sector. I kind of dabbled in programming on and off for the 7 years before that, learning bits and pieces of C, swift, iOS development, C++, machine learning, even algorithms and data structures; but nothing really “took off”. I used to mainly code simple engineering calculators. But there’s only so many engineering calculators the world needs and so since December last year I started studying CS “properly” - I did SICP and I learnt the basics of interpreters, assembly and compilers. I wanted to gain more experience with C before I did systems so I wrote generic data structures in C, even implemented a subset of Scheme in C .
-
November 2021 monthly "What are you working on?" thread
Started making a generic data structures library in C for subsequently using them to implement a basic Scheme interpreter. link
-
Yet another "Generic Data Structures in C" post
So I was just lurking on this subreddit that I found a really good link for a get-down-to-business tutorial on C: Yale CPSC 223 notes, and I finally understood macros. I was going through Crafting Interpreters where the author was using Java's generic hash tables and I got this motivation for implementing my own generic symbol table implementation in C. I wrote macros for ordinary BSTs and Sedgewick's Left Leaning Red Black trees (translating from his recursive Java implementation). In the process, I also learnt (and used) Clang's Address Sanitizer and Leak detection features to remove memory leaks.
skybison
Posts with mentions or reviews of skybison.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-18.
-
Python cruising on back of c++
The parent comment is referring to the primary Python interpreter and runtime, CPython, not to libraries. There are of course other Python implementations, but [the only C++ one](https://github.com/tekknolagi/skybison appears to be unsupported.
-
Faster CPython at PyCon, part one
Kind of! In my fork I run microbenchmarks on each PR. So you can see on, for example, https://github.com/tekknolagi/skybison/pull/456, that the change had a 3.6% improvement on the compilation benchmark. If you expand further, you can see a comparison with CPython 3.8. Unfortunately Skybison is still on 3.8.
-
Another NaN-based tagging strategy for dynamic programming languages
This is also the pointer tagging scheme from the Ghuloum paper. I did not design it. Another tagging scheme I did not design is the Skybison scheme, which uses 0bXXX...XX0 to tag integers and 0bXXX...001 to tag heap pointers. This makes heap reads very easy (bias by -1 in addressing mode).
-
wrench (tiny, fast, c-like interpreter): created a webpage and now looking for benchmark code
Skybison is a Python interpreter and I'm curious what the results look like. We also have some benchmarks in benchmarks/benchmarks.
-
Using Firecracker and Go to run short-lived, untrusted code execution jobs
If you take a look at the Skybison Python runtime, I would be happy to chat and help you poke around integrating it: https://github.com/tekknolagi/skybison
-
November 2021 monthly "What are you working on?" thread
I am, in fits and starts, writing a bytecode optimizer for Skybison that takes advantage of type information.
What are some alternatives?
When comparing Generic-C-DataStructures and skybison you can also consider the following projects:
RustScript2 - RustScript is a functional scripting language with as much relation to Rust as Javascript has to Java.
tonic - An elegant language for script-kiddies and terminal squatters.
lockdown - Lockdown is a general-purpose programming language that combines the positive characteristics of both "strongly-typed" and "dynamic" languages, giving the developer the choice about when and how these should be used.
CSCMIC - Learning to make a Scheme interpreter in C
cib - clang running in browser (wasm)
protea - An in-progress programming language inspired by JavaScript.
aussieplusplus - Programming language from down under
gvisor - Application Kernel for Containers
Generic-C-DataStructures vs RustScript2
skybison vs RustScript2
Generic-C-DataStructures vs tonic
skybison vs lockdown
Generic-C-DataStructures vs CSCMIC
skybison vs cib
Generic-C-DataStructures vs protea
skybison vs aussieplusplus
Generic-C-DataStructures vs lockdown
skybison vs tonic
Generic-C-DataStructures vs aussieplusplus
skybison vs gvisor