Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Posted Oct 18, 2015 2:57 UTC (Sun) by Cyberax (✭ supporter ✭, #52523)In reply to: Permissive licenses, community, and copyleft by dvdeug
Parent article: Permissive licenses, community, and copyleft
Not only that. LLVM is also used in 3D drivers (Mesa) as a JIT engine for JavaScript in a major browser ( https://trac.webkit.org/wiki/FTLJIT ), as a backend for Rust, and in many other situations.
Meanwhile GCC is still failing to move out of its niche as a static compiler. It's right now marginally better than LLVM, but this is already changing.
It's also interesting that you mentioned Ada and Go. The first one is pretty much irrelevant and the second one is falling behind the mainline Go. Turns out that GCC's performance advantages are not worth additional complexity of using GCC for most users. Meanwhile self-hosting LLGO ( http://llvm.org/klaus/llgo/ ) is progressing nicely.
Posted Oct 18, 2015 17:50 UTC (Sun)
by lsl (subscriber, #86508)
[Link] (1 responses)
That link shows 9 commits in the last six months, a third of which just update the local copy of gccgo's libgo (so much for self-hosting). From what's left, the only non-trivial one is a bulk import of some line editing library. All the nice progress must have happened more than six months ago, surely.
Posted Oct 19, 2015 2:49 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Oct 21, 2015 4:00 UTC (Wed)
by dvdeug (guest, #10998)
[Link] (2 responses)
Ada is pretty much irrelevant but look at this shiny Rust frontend? Despite the fact that Ada is 27th on the TIOBE Index for October 2015 and Rust is 49th? The 2012 standard for Ada helped firm up Ada's niche, and while it's probably on the way out, well, we said that about C, too (#2 on the list). Whereas Rust is interesting, but it may be used, or it may fall into a pile of interesting languages that never hit critical mass.
In any case, besides counting races that have barely begun as being over, what does this have to do with licenses? Every time you say that LLVM is better at something, it makes it less likely that LLVM is being used by people for its license. The only way one example could even start to talk about licenses is if one product really sucked and yet was being used by a significant number of people because of its license; something that happens between open-source and proprietary code sometimes, but not really among open-source licenses.
Posted Oct 21, 2015 7:23 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
> In any case, besides counting races that have barely begun as being over, what does this have to do with licenses? Every time you say that LLVM is better at something, it makes it less likely that LLVM is being used by people for its license.
Posted Nov 1, 2015 1:33 UTC (Sun)
by dvdeug (guest, #10998)
[Link]
Claiming that the license lets LLVM be used in spaces that GCC can't is a special-purpose claim; it's basically <i>why</i> LLVM and GCC can't be used as the end-all and be-all of how GPL is doing against less-restrictive licenses.
Posted Nov 10, 2015 21:06 UTC (Tue)
by jwakely (subscriber, #60262)
[Link] (9 responses)
Where does libgccjit fit into your worldview?
> It's right now marginally better than LLVM, but this is already changing.
By what metric?
Did you consider that GCC has implementations of the C++ Concepts TS, Filesystem TS, Transactional Memory TS, and pretty soon the draft Networking TS ... none of which are available in Clang?
Does OpenMP 4 support matter?
> It's also interesting that you mentioned Ada and Go. The first one is pretty much irrelevant and the second one is falling behind the mainline Go. Turns out that GCC's performance advantages are not worth additional complexity of using GCC for most users.
What about the fact that mainline Go only support x86 and arm? If you're not "most users" are you out of luck?
> Meanwhile self-hosting LLGO ( http://llvm.org/klaus/llgo/ ) is progressing nicely.
Someone else already debunked this claim.
Posted Nov 10, 2015 21:57 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (6 responses)
> By what metric?
> Did you consider that GCC has implementations of the C++ Concepts TS, Filesystem TS, Transactional Memory TS, and pretty soon the draft Networking TS ... none of which are available in Clang?
> Does OpenMP 4 support matter?
> What about the fact that mainline Go only support x86 and arm? If you're not "most users" are you out of luck?
Posted Nov 13, 2015 10:05 UTC (Fri)
by jwakely (subscriber, #60262)
[Link] (5 responses)
Posted Nov 13, 2015 17:58 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
Posted Nov 16, 2015 20:59 UTC (Mon)
by jwakely (subscriber, #60262)
[Link] (3 responses)
GCC has concepts and TM (and Filesystem, "just library code" or not) and Clang doesn't (yet).
GCC has OpenMP4 and Clang doesn't (yet).
GCC supports more architectures (albeit ones that you don't care about).
Why am I deluded about that? Are you just spouting off or do you have something useful to say?
Posted Nov 16, 2015 21:32 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
For example, let's compare with LLVM announcements for the last couple of weeks:
So pretty much the only objection is that GCC has OpenMP4 which LLVM will only get in the next release (they're still failing a couple of tests). Yeah, I'm pretty sure that it's a mortal blow to LLVM.
I'm pretty sure that the development focus has shifted from GCC, permanently.
Posted Nov 16, 2015 21:51 UTC (Mon)
by jwakely (subscriber, #60262)
[Link] (1 responses)
Oh, so when LLVM has something announced, but at least a year from existing, that's a plus point for LLVM, but when LLVM has something existing and GCC is only talking about it, that's also a plus point for LLVM. You should try to make it a bit less obvious when twisting facts to suit your agenda.
Newsflash: GCC already has a high quality Fortran front-end, with vectorization.
> I'm pretty sure that the development focus has shifted from GCC, permanently.
What does "the development focus" mean?! If you mean loudmouths on the internet who contribute nothing to either project are spending their time hyping LLVM, I must agree. As far as actual development goes, both projects seem active and healthy to me.
Posted Nov 17, 2015 5:25 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link]
> What does "the development focus" mean?! If you mean loudmouths on the internet who contribute nothing to either project are spending their time hyping LLVM, I must agree.
Do you know anything exciting happening lately with gcc? It still has some momentum and a lot of developers are more familiar with it (so it gets new C++ features faster), but it's clearly fading.
Posted Nov 11, 2015 3:38 UTC (Wed)
by lsl (subscriber, #86508)
[Link] (1 responses)
That's no longer true. The gc compiler for Go now additionally supports aarch64/arm64, mips64 and power. There's also someone working on SPARC support, I think, but no idea how far it is. Probably not going to be part of the coming 1.6 release.
Posted Nov 13, 2015 10:06 UTC (Fri)
by jwakely (subscriber, #60262)
[Link]
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Yup. Pretty much nobody uses Ada outside of tight circle of defense contractors. And TIOBE, seriously?
Yes, license is extremely important. For example, Mesa3D wouldn't have been able to use GCC even if they wanted to. Ditto for FTL JIT that Apple uses now.
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
In the usual place - nobody really uses it.
The speed of the resulting code.
Only concepts and transactional memory are related to GCC. Everything else is just library code.
OpenMP 3.1 is complete ( http://blog.llvm.org/2015/05/openmp-support_22.html ), OpenMP4 is in progress.
Yep. Also Clang doesn't support some crazy architectures which is perfectly fine by me.
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft
That several pretty much inconsequential differences actually mean anything.
- Google announced GPUCC support for LLVM, bringing in CUDA support ( http://llvm.org/devmtg/2015-10/slides/Wu-OptimizingLLVMfo... ).
- AMD announced LLVM-based CUDA translator ( http://www.amd.com/en-us/press-releases/Pages/boltzmann-i... )
- NVidia announced Fortran support with vectorization for LLVM.
- There's already a production-grade SPIR-V backend for LLVM, while a gcc backend is still being talked about.
- There's support for symbolic execution in LLVM, useful for static analyzers ( https://feliam.wordpress.com/2010/10/07/the-symbolic-maze/ ).
- There's a production-grade tracing JIT for LLVM, used on hundreds of millions of devices, while gccjit is pretty much dead.
- ...
Permissive licenses, community, and copyleft
> There's already a production-grade SPIR-V backend for LLVM, while a gcc backend is still being talked about.
Permissive licenses, community, and copyleft
Yup. It means that companies are actively investing in LLVM to the point where it's going to dominate everything else. And it will happen within a year or so.
It means that when you're starting a new project, you first go to LLVM and not gcc. E.g.: Rust, BEAMJIT ( https://lup.lub.lu.se/student-papers/search/publication/5... ), Pyston, beignet, ...
Permissive licenses, community, and copyleft
Permissive licenses, community, and copyleft