mark-sweep VS git-from-the-bottom-up

Compare mark-sweep vs git-from-the-bottom-up and see what are their differences.

mark-sweep

A simple mark-sweep garbage collector in C (by munificent)

git-from-the-bottom-up

An introduction to the architecture and design of the Git content manager (by jwiegley)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
mark-sweep git-from-the-bottom-up
11 32
702 808
- -
10.0 0.0
almost 4 years ago 25 days ago
C
GNU General Public License v3.0 or later 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.

mark-sweep

Posts with mentions or reviews of mark-sweep. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-26.
  • Let's Write a Malloc
    4 projects | news.ycombinator.com | 26 Nov 2023
    Never forget:

    https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...

    > Let me stress here that while this collector is simple, it isn’t a toy.

    > There are a ton of optimizations you can build on top of this—in GCs and programming languages, optimization is 90% of the effort—but the core code here is a legitimate real GC.

    > It’s very similar to the collectors that were in Ruby and Lua until recently.

    > You can ship production code that uses something exactly like this.

    > Now go build something awesome!

  • loxcraft: a compiler, language server, and online playground for the Lox programming language
    14 projects | /r/ProgrammingLanguages | 29 Apr 2023
    Bob Nystrom also has a blog, and his articles are really well written (see his post on Pratt parsers / garbage collectors). I'd also recommend going through the source code for Wren, it shares a lot of code with Lox. Despite the deceptive simplicity of the implementation, it (like Lox) is incredibly fast - it's a great way to learn how to build production grade compilers in general.
  • The Garbage Collection Handbook, 2nd Edition
    6 projects | news.ycombinator.com | 8 Apr 2023
    Bob Nystrom (of Game Programming Patterns, Crafting Interpreters, and dartfmt fame) also wrote a tutorial[1], of a precise as opposed to a conservative garbage collector.

    Regarding register scanning, Andreas Kling has made (or at least quoted) an amusing observation[2] that your C runtime already has a primitive to dump all callee-save registers onto the stack: setjmp(). So all you have to do to scan registers is to put a jmp_buf onto the stack, setjmp() to it, then scan the stack normally starting from its address.

    [1] https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...

    [2] https://youtu.be/IzB6iTeo8kk

  • Ask HN: Do you recall any book or course that made a topic finally click?
    6 projects | news.ycombinator.com | 14 Nov 2022
    - http://journal.stuffwithstuff.com/2013/12/08/babys-first-gar...
  • Garbage Collection with LLVM
    3 projects | /r/ProgrammingLanguages | 24 Sep 2022
    Might not be that hard: https://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/
  • Baby’s First Garbage Collector (2013)
    1 project | /r/patient_hackernews | 10 Aug 2022
    1 project | /r/hackernews | 10 Aug 2022
    1 project | /r/hypeurls | 9 Aug 2022
    2 projects | news.ycombinator.com | 9 Aug 2022
  • Reference Count, Don't Garbage Collect
    9 projects | news.ycombinator.com | 29 Jul 2022
    To better understand garbage collection, nothing better than implementation. This article is such a joy to read:

    https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...

git-from-the-bottom-up

Posts with mentions or reviews of git-from-the-bottom-up. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-10.
  • Git from the Bottom Up
    2 projects | news.ycombinator.com | 10 Mar 2024
    1 project | news.ycombinator.com | 21 Jun 2023
  • How Head Works in Git
    1 project | news.ycombinator.com | 8 Mar 2024
    Here's a great walk through for how Git works from the bottom up: https://jwiegley.github.io/git-from-the-bottom-up/

    It's short, easy to understand and you'll understand HEAD.

  • git-appraise – Distributed Code Review for Git
    13 projects | news.ycombinator.com | 10 Aug 2023
    Very tangential:

    Gerrit also stores some of its configs in a git repo. I was setting up a new instance, but couldn't get Admin permissions because the way my auth front-end didn't play well with the docker image's assumptions.

    Gerrit already does a lot of its work via non-standard references. For example, you don't push to a branch, `refs/branches/foo`, you push to a separate `refs/for/foo` namespace that creates the review.

    Similarly, Group config is stored in the All-Users git repo [1], but in references created after a UUID, in `refs/groups/UU/UUID`.

    I ended up having a to exercise the plumbiest of plumbing commands [2] to create a new commit from scratch (from a tree, from the index, from blobs), to update the group ref to add myself to the Administrators group (this, of course, requires a local shell and permissions on the Gerrit host). It was a great way to exercise what I had learned in Git from the Bottom Up [3]

    [1] https://gerrit-review.googlesource.com/Documentation/config-...

    [2] https://git-scm.com/book/en/v2/Git-Internals-Git-Objects

    [3] https://jwiegley.github.io/git-from-the-bottom-up/

  • Setting up Huginn on Heroku
    1 project | /r/selfhosted | 24 Jun 2023
  • Books for learning Git
    1 project | /r/git | 27 Apr 2023
    I found Git from the Bottom Up helpful. It is very short as well. Then refer to the official book when you want more detail.
  • Good git course and/or where to practice real life scenarios?
    2 projects | /r/ExperiencedDevs | 18 Apr 2023
  • the first time i had to deal with a huge git rebase conflict
    1 project | /r/ProgrammerHumor | 17 Apr 2023
    I recently came across "Git from the Bottom Up by John Wiegley" (thanks to Coding Blocks podcast), he has a chapter about rebasing: https://jwiegley.github.io/git-from-the-bottom-up/1-Repository/7-branching-and-the-power-of-rebase.html
  • Git-SIM: Visually simulate Git operations in your own repos with a single termi
    5 projects | news.ycombinator.com | 22 Jan 2023
    You won't have to put your entire life on break in order to understand the fundamentals of git and why it works the way it works. Going through https://jwiegley.github.io/git-from-the-bottom-up/ and really understanding the material will take you a couple of hours at max, but will save you a lot of time in the future.

    Wanting to understand things before using them is hardly elitism, not sure why you would think that.

    Just like you probably don't want to fix bugs without understand the cause, it's hard to use a tool correctly unless you know how the tool works.

  • What is the most efficient way of learning and comprehending Git?
    1 project | /r/csMajors | 19 Dec 2022

What are some alternatives?

When comparing mark-sweep and git-from-the-bottom-up you can also consider the following projects:

c-examples - Example C code

lisp-koans - Common Lisp Koans is a language learning exercise in the same vein as the ruby koans, python koans and others. It is a port of the prior koans with some modifications to highlight lisp-specific features. Structured as ordered groups of broken unit tests, the project guides the learner progressively through many Common Lisp language features.

zig.vim - Vim configuration for Zig

devdocs - API Documentation Browser

mmtk-core - Memory Management ToolKit

git-appraise - Distributed code review system for Git repos

ixy-languages - A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python

git-fire - :fire: Save Your Code in an Emergency

rust-gc - Simple tracing (mark and sweep) garbage collector for Rust

emlop - EMerge LOg Parser

Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.

tig - Text-mode interface for git