VFSForGit VS llvm-project

Compare VFSForGit vs llvm-project and see what are their differences.

VFSForGit

Virtual File System for Git: Enable Git at Enterprise Scale (by microsoft)

llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. (by llvm)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
VFSForGit llvm-project
24 350
5,944 25,563
0.4% 2.0%
4.7 10.0
about 2 months ago 9 days ago
C# C++
MIT License 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.

VFSForGit

Posts with mentions or reviews of VFSForGit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-02.
  • Debian Git Monorepo
    4 projects | news.ycombinator.com | 2 Apr 2024
    It's not only Windows that uses Git at Microsoft, but Sharepoint and Office (which includes the on-prem version of SharePoint). In terms of repo size Windows and Office are similar. I was part of the team that migrated Sharepoint from a Perforce clone to Git and helped build the tooling to allow Office to move as well. VFS for Git [1] and Scalar [2] are really good pieces of software.

    [1] - https://github.com/microsoft/VFSForGit

    [2] - https://github.com/microsoft/scalar

  • Serving a Website from a Git Repo Without Cloning It
    5 projects | news.ycombinator.com | 18 Feb 2024
    Congratulations! That means you basically figured out how the clone procedure works and found a way to do so just in a partial way (also in an unsafe way). But it is a cool idea, nonetheless.

    Also check out the Scalar [1] project and its predecessor, GVFS [2], both from Microsoft to manage their monorepo via a VFS layer.

    [1]: https://github.com/microsoft/scalar

    [2]: https://github.com/microsoft/VFSForGit

  • We Put Half a Million Files in One Git Repository, Here's What We Learned (2022)
    4 projects | news.ycombinator.com | 28 Aug 2023
    VFS for Git is still Open Source: https://github.com/microsoft/VFSForGit

    Microsoft's blog posts have indicated a move to use something as close to off-the-shelf git as possible, though. They say they've stopped using VFS much and are instead more often relying on sparse checkouts. They've upstreamed a lot of patches into git itself, and maintain their own git fork but the fork distance is generally shrinking as those patches upstream.

  • Why SQLite Does Not Use Git
    13 projects | news.ycombinator.com | 22 Jul 2023
    https://github.com/microsoft/VFSForGit

    better than it used to, with the caveat that git in particular is not and has never claimed to be good at versioning blobs.

  • ๐Ÿ‚ ๐ŸŒพ Oxen.ai - Blazing Fast Unstructured Data Version Control, built in Rust
    5 projects | /r/rust | 16 Feb 2023
    Oh dear you're not going to like this.
  • He is very conservative...
    2 projects | /r/ProgrammerHumor | 3 Feb 2023
    Itโ€™s virtualised file system: https://github.com/microsoft/VFSForGit, only downloads what you actually use. Same thing in every large company, but different implementations.
  • FYI: LLVM-project repo has exceeded GitHub upload size limit
    7 projects | news.ycombinator.com | 30 Jan 2023
    This is where something like VFSForGit[0] helps out. Instead of cloning the entire repo, it creates a virtual file system and fetches objects on demand. MSFT uses it internally for the Windows source tree (which now exceeds 300GB).

    [0]: https://github.com/microsoft/VFSForGit

  • Created a Small Program To Display Upcoming Assignments On My Desktop
    3 projects | /r/csharp | 28 Jan 2023
    There's also a performance consideration. Not excluding /bin/ or /obj/ folders means dependencies are being tracked as well, and sometimes dependencies themselves are bigger than the program's source code itself. This is commonly the case with node projects, as the node_modules folder can balloon to hundreds of megabytes. They should never be tracked in git due to the nature of how git's internal database works. For e.g. if you delete a dependency because it's no longer needed, you can never fully reclaim that disk space (at least for the master branch) as git will need to keep the binary data stored in its internal tracking database because a previous commit in the master branch has captured the data. As you make more branches, git needs to store the data required to reconstruct your repo to a different state when you switch branches. When a branch has changes measured in the kilobytes, check out is very manageable, but when the differences balloon to many MBs due to the presence of heavy binary files, then checkout between different branches/commits can get very slow. Though, this happens anyway when source code data eventually reaches a certain threshold, beyond the hundreds of megabytes, it's made unnecessarily worse by including any binary files. It's one of the reasons Microsoft created VFS for git: https://github.com/microsoft/VFSForGit.
  • Meta releases Sapling, a new way of using source control
    4 projects | /r/programming | 15 Nov 2022
  • Software for managing config files
    2 projects | /r/sysadmin | 22 Oct 2022
    You mean like VFSforGit? Or the successor for that called Scalar? This has been a solved problem. Microsoft moved their entire Windows codebase to git. There have been a ton of huge improvements to performance as a result of that. And the above two plugins are easily better ways to deal with what you're referring to without resulting to dead tech.

llvm-project

Posts with mentions or reviews of llvm-project. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • Add support for Qualcomm Oryon processor
    1 project | news.ycombinator.com | 3 May 2024
  • Ask HN: Which books/resources to understand modern Assembler?
    6 projects | news.ycombinator.com | 21 Apr 2024
    'Computer Architeture: A Quantitative Apporach" and/or more specific design types (mips, arm, etc) can be found under the Morgan Kaufmann Series in Computer Architeture and Design.

    "Getting Started with LLVM Core Libraries: Get to Grips With Llvm Essentials and Use the Core Libraries to Build Advanced Tools "

    "The Architecture of Open Source Applications (Volume 1) : LLVM" https://aosabook.org/en/v1/llvm.html

    "Tourist Guide to LLVM source code" : https://blog.regehr.org/archives/1453

    llvm home page : https://llvm.org/

    llvm tutorial : https://llvm.org/docs/tutorial/

    llvm reference : https://llvm.org/docs/LangRef.html

    learn by examples : C source code to 'llvm' bitcode : https://stackoverflow.com/questions/9148890/how-to-make-clan...

  • Flang-new: How to force arrays to be allocated on the heap?
    1 project | news.ycombinator.com | 14 Apr 2024
    See

    https://github.com/llvm/llvm-project/issues/88344

    https://fortran-lang.discourse.group/t/flang-new-how-to-forc...

  • The LLVM Compiler Infrastructure
    1 project | news.ycombinator.com | 9 Apr 2024
  • Programming from Top to Bottom - Parsing
    2 projects | dev.to | 18 Mar 2024
    You can never mistake type_declaration with an identifier, otherwise the program will not work. Aside from that constraint, you are free to name them whatever you like, there is no one standard, and each parser has it own naming conventions, unless you are planning to use something like LLVM. If you are interested, you can see examples of naming in different language parsers in the AST Explorer.
  • Look ma, I wrote a new JIT compiler for PostgreSQL
    1 project | news.ycombinator.com | 18 Mar 2024
    > There is one way to make the LLVM JIT compiler more usable, but I fear itโ€™s going to take years to be implemented: being able to cache and reuse compiled queries.

    Actually, it's implemented in LLVM for years :) https://github.com/llvm/llvm-project/commit/a98546ebcd2a692e...

  • C++ Safety, in Context
    8 projects | news.ycombinator.com | 12 Mar 2024
    > It's true, this was a CVE in Rust and not a CVE in C++, but only because C++ doesn't regard the issue as a problem at all. The problem definitely exists in C++, but it's not acknowledged as a problem, let alone fixed.

    Can you find a link that substantiates your claim? You're throwing out some heavy accusations here that don't seem to match reality at all.

    Case in point, this was fixed in both major C++ libraries:

    https://github.com/gcc-mirror/gcc/commit/ebf6175464768983a2d...

    https://github.com/llvm/llvm-project/commit/4f67a909902d8ab9...

    So what C++ community refused to regard this as an issue and refused to fix it? Where is your supporting evidence for your claims?

  • Clang accepts MSVC arguments and targets Windows if its binary is named clang-cl
    2 projects | news.ycombinator.com | 2 Mar 2024
    For everyone else looking for the magic in this almost 7k lines monster, look at line 6610 [1].

    [1] https://github.com/llvm/llvm-project/blob/8ec28af8eaff5acd0d...

  • Rewrite the VP9 codec library in Rust
    5 projects | news.ycombinator.com | 28 Feb 2024
    Through value tracking. It's actually LLVM that does this, GCC probably does it as well, so in theory explicit bounds checks in regular C code would also be removed by the compiler.

    How it works exactly I don't know, and apparently it's so complex that it requires over 9000 lines of C++ to express:

    https://github.com/llvm/llvm-project/blob/main/llvm/lib/Anal...

  • Fortran 2023
    1 project | news.ycombinator.com | 22 Feb 2024
    https://github.com/llvm/llvm-project/blob/main/flang/docs/F2...

What are some alternatives?

When comparing VFSForGit and llvm-project you can also consider the following projects:

scalar - Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]

Lark - Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

juicefs - JuiceFS is a distributed POSIX file system built on top of Redis and S3.

gcc

git - A fork of Git containing Microsoft-specific patches.

SDL - Simple Directmedia Layer

dvc - ๐Ÿฆ‰ ML Experiments and Data Management with Git

cosmopolitan - build-once run-anywhere c library

mvfs - ClearCase file system

windmill - Open-source developer platform to turn scripts into workflows and UIs. Fastest workflow engine (5x vs Airflow). Open-source alternative to Airplane and Retool.