Announcement

Collapse
No announcement yet.

Meson'ed Mesa Allows For 10 Second Build & Deploy Of Intel's Vulkan Driver

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Meson'ed Mesa Allows For 10 Second Build & Deploy Of Intel's Vulkan Driver

    Phoronix: Meson'ed Mesa Allows For 10 Second Build & Deploy Of Intel's Vulkan Driver

    Among the projects recently adopting the Meson build system has been Mesa 3D. The build time benefits are quite encouraging for developers...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    What was the time using other building systems instead of Meson+ninja? Without this, knowing that it takes ten seconds is not useful for comparison purposes....

    Comment


    • #3
      What's up with all this Meson craze? Anywhere I see people saying good things about Meson it seems like they don't know CMake already existed for quite a long time. I get it that Meson is way better than Autotools, but frankly, everything is. Why do we need yet another way to build stuff out there? How is Meson better than CMake? As if it wasn't already hard enough to get all various build systems to cross-compile properly, especially when dealing with dependencies of something that you're interested in...

      Comment


      • #4
        With a dual core hyperthreaded skylake, autogen already run:

        time sh -c '../configure --without-dri-drivers --without-gallium-drivers --with-vulkan-drivers=intel --disable-gbm --disable-egl --disable-glx ; make -j6 -l4'
        cold ccache: sh -c 406.41s user 31.86s system 220% cpu 3:18.71 total
        hot ccache: sh -c 130.92s user 14.22s system 232% cpu 1:02.40 total

        time sh -c 'meson build-anv -Dgallium-drivers= -Ddri-drivers= -Dvulkan-drivers=intel ; ninja -C build-anv'
        cold ccache: sh -c 158.14s user 18.29s system 343% cpu 51.375 total
        hot ccache: sh -c 23.40s user 3.79s system 261% cpu 10.396 total

        Comment


        • #5
          Is Debian going to switch to Meson build for it?

          Comment


          • #6
            Many people know about CMake. But its language is soooo unintuitive ugly and error-prone. That is part of the meson quick success that just uses Python as a language.

            Comment


            • #7
              Originally posted by dos1 View Post
              What's up with all this Meson craze?
              Marketing and good timing. ;-)
              They postponed going sane for so long that they could learn from mistakes of CMake (every project will grow nasty things when it is around long enough and has to, more or less, support legacy stuff) plus ninja showed up "recently", which was used by CMake for long time when available, but nobody went *that* crazy over it, it's just a tool.
              Anyway, anything is better than autohell (probably even a build system written in Brainfuck would be more user friendly), so it's a good kind madness.


              Comment


              • #8
                Originally posted by armetuz View Post
                Many people know about CMake. But its language is soooo unintuitive ugly and error-prone. That is part of the meson quick success that just uses Python as a language.
                Meson is implemented in Python, but the language used for configuring build system is independent. http://mesonbuild.com/FAQ.html#why-i...etup-in-python

                Comment


                • #9
                  Originally posted by etam View Post

                  Meson is implemented in Python, but the language used for configuring build system is independent. http://mesonbuild.com/FAQ.html#why-i...etup-in-python
                  That's fine and nice if all your use-cases are covered in meson. A side effect of that is that you cant extend meson and just those extensions to your project.
                  Means everything has to be added to the project, or some other languages have to be used, their own site states: "Any project that uses Meson (at least the current version) can rely on the fact that Python 3 will always be available, because you can't compile the project without it."

                  Which basically makes that point a mockery, you can port any built-system that is scrip-table and has a good part of its logic in those scripts to another language - way easier than meson. "Extensions" to meson will almost certainly be in python, and their DSL is heavily crafted after python as well.
                  CMake is relatively small with the most of its logic in platform-independent, easily hackable (,but ugly) code.

                  If your usecases aren't covered well in Meson, you are pretty much screwed, and thats very much the case if your projects need to support multiple microcontrollers. In case of CMake you write one module (you will never have to port, even if CMake gets rewritten in brain**k) and place it into a parent-project. And you can even use a 6 year old distribution with a stone-old CMake instead of having to gather a bleeding edge build.

                  If Meson directly fits, its a very clean solution, but you can say that about mostly anything really =)

                  BTW, I am really curious how new language features like C++ Modules will break existing build-systems including Meson and CMake, and how they can and will cope with it.
                  CMake already has concepts of introducing breaking changes while keeping backwards compatibility, Meson seems a bit naive in that regard.

                  Comment


                  • #10
                    Originally posted by shmerl View Post
                    Is Debian going to switch to Meson build for it?
                    Debian build idividual packages with whatever build system upstream supports. They don't write their own build system for everthing.

                    Comment

                    Working...
                    X