Announcement

Collapse
No announcement yet.

Working On The X.Org 7.6 Katamari

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

  • #11
    I think the lsof on the apps is because they are all written to use xlib, but now xlib is some library that wraps around XCB.

    No toolkit/app AFAIK uses native XCB yet which as it seems, if they did, X things will be more efficient, and require less round trips. it seems its because of too many round trips, things like window resizing is slow.

    Can't be certain, as GTK and Qt have not been ported over, and there does not seem to be anyone trying to, so there is no way to test the theory out.

    Comment


    • #12
      You will see zero difference if you enable XCB on your system.
      The aforementioned 1.5mb is a difference, no?

      I challenge you. This is Phoronix, which means we even have benchmarks, no? I know what I'm talking about because I had -xcb in my USE flags for ages There is absolutely no negative hit in performance or loading times, which in short means: XCB is not bloat. Far from it.
      It's about the same for any additional library, exists, and can be measured. I will draw you a nice chart later today if you insist.

      Comment


      • #13
        So, here's the bench, charts, and how to reproduce.

        I won't dig up the OpenOffice reference right now, but they won 1-2 seconds off the startup time.


        hello.c:

        #include <stdio.h>

        int main(){

        printf("Hello Phoronix\n");
        return 0;

        }
        build.sh:
        #!/bin/sh
        gcc -o hello hello.c -Os -s
        gcc -o hello-libs hello.c -Os -s -L/usr/X11R7/lib -lX11 -lGL -lcairo

        Test procedure:
        LD_DEBUG=statistics ./hello > output 2>&1
        LD_DEBUG=statistics ./hello-libs > output 2>&1
        Overhead due to 3 directly linked libs, 24 total:



        Comment


        • #14
          Originally posted by nanonyme View Post
          Btw, this is why prelink exists.
          True, but it doesn't eliminate the step completely, just speeds it up.

          Comment


          • #15
            For 3 libs the time needed is pretty much ignorable, and for just 1 it would be virtually nothing.

            So you pretty much confirmed that there's no bloat for having libxcb.

            As for the applications needing it, isn't Compiz depending on it?

            Comment


            • #16
              So you pretty much confirmed that there's no bloat for having libxcb.
              Did you intentionally misread the charts? 10.8x more time spent for this phase in startup for only 3 direct libs. That is not ignorable, or virtually nothing.

              10.8/3 = 3.6

              But I suppose our thresholds for what is too much differ.

              Comment


              • #17
                Originally posted by curaga View Post
                It's about the same for any additional library, exists, and can be measured. I will draw you a nice chart later today if you insist.
                It's not intended to be an additional library in the long run, but rather to replace the existing policy of calling Xlib directly.
                Originally posted by http://en.wikipedia.org/wiki/XCB
                In computing, XCB (X C Binding) is a C language binding for the X Window System. It is implemented as free software and aims to replace Xlib.
                Which makes sense, seeing how Xlib is old, borderline insane, mostly replaced by toolkits and not really written with modern Api-designs in mind.

                As for the Python-requirement: I urge you to find a X-Server 1.9-compatible Desktop-Setup(or even Server-Setup) that hasn't got Python already installed one way or another. All Window Managers need it, a good deal of modern linux tools and toolkits need it, which makes the only place where you probably won't need it command line only systems. And if your Server has a problem with the overhead of python it's presumably broken. And embedded systems don't count, you won't need a X-Server there.

                Comment


                • #18
                  Ah the edit limit. If the app uses any of the X extensions, say damage, double-buffer, composite, that's 3 extra libs already on top of libxcb itself.

                  Comment


                  • #19
                    Originally posted by fabiank22 View Post
                    As for the Python-requirement: I urge you to find a X-Server 1.9-compatible Desktop-Setup(or even Server-Setup) that hasn't got Python already installed one way or another. All Window Managers need it, a good deal of modern linux tools and toolkits need it, which makes the only place where you probably won't need it command line only systems. And if your Server has a problem with the overhead of python it's presumably broken. And embedded systems don't count, you won't need a X-Server there.
                    Fairly offtopic, but sure. Do you really want a list of every distro that doesn't include python by default, and of every WM that does not need it?

                    Gnome != every wm, gnome utils != a good deal of linux tools, and gnome != good deal of toolkits.

                    X-Server 1.9-compatible Desktop-Setup(or even Server-Setup) - Even Slack 8 would probably work fine for that, that is no criteria really. I would bet X server 1.9 will run on any system with 2.4+ kernel and gcc 4+.

                    Comment


                    • #20
                      Originally posted by curaga View Post
                      Did you intentionally misread the charts? 10.8x more time spent for this phase in startup for only 3 direct libs. That is not ignorable, or virtually nothing.

                      10.8/3 = 3.6

                      But I suppose our thresholds for what is too much differ.
                      If you're claiming that 3 extra libs need 3.6 seconds then you're either falsifying the results or are using a 3MHz 8086...

                      Comment

                      Working...
                      X