5 ms·
> Still, LLVM is a huge dependency to redistribute. But .NET isn't?
by SubjectToChange 6y ago
> Still, LLVM is a huge dependency to redistribute.
But .NET isn't?
- Const-me 6y ago> But .NET isn't? Indeed. .NET runtime takes about 30 MB, or 50 MB if you're on Windows and need desktop components. Links there: https://dotnet.microsoft.com/download/dotnet/5.0 https://dotnet.microsoft.com/download/dotnet/5.0 clang+llvm package takes 300-400 MB, that's almost an order of magnitude difference: https://github.com/llvm/llvm-project/releases/tag/llvmorg-11.0.1 https://github.com/llvm/llvm-project/releases/tag/llvmorg-11...
- jcelerier 6y ago> clang+llvm package takes 300-400 MB, that's almost an order of magnitude difference I ship a statically compiled llvm + clang with my software and it does not add 300-400 mb to the binary at all, only something like 20-30 mb.
- Const-me 6y agoIf you’re willing to compile, ship and support custom builds of .NET runtime, gonna be less than 20-30 MB. coreclr.dll (the runtime) is 4.9 MB, clrjit.dll (JIT compiler) is 1.3 MB. The rest is mostly standard libraries, the largest piece of that is System.Private.CoreLib.dll at 9 MB. The numbers are for Win64 version of .NET 5.0.2. Another thing, for .NET apps the runtime is required anyway, the overhead for runtime code generation is zero. For C++ apps, llvm + clang (or an equivalent) is only needed on developer’s computers, not something you’d normally ship.
- jcelerier 6y ago> For C++ apps, llvm + clang (or an equivalent) is only needed on developer’s computers, not something you’d normally ship. unless you want to JIT-compile C++ code at runtime which is the original point.