• trevor@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    19 hours ago

    For those that are, for some reason, incredulous of having more performant software (???), here’s a simple program to demonstrate the point:

    use std::{
        fs::File,
        io::{BufWriter, Write},
    };
    
    fn main() {
        let buf = File::create("/dev/stdout").unwrap();
        let mut w = BufWriter::new(buf);
        let mut i = 0;
    
        while i <= 100000 {
            writeln!(&mut w, "{}", i).unwrap();
            i += 1;
        }
    }
    

    It simply prints the numbers 0-100000 to the screen. Compile it (rustc path-to-file). Run it in a non-accelerated terminal with time ./path-to-bin. Now time that same binary in a terminal emulator with GPU-acceleration.

    The difference becomes more apparent with more text. Now, imagine needing to use something like find on a large set of files. Doing this on a non-accelerated terminal is literally slower.

    It’s fine if you don’t need a GPU-accelerated terminal, but having acceleration is genuinely useful and a noticeable quality-of-life improvement if you do anything more than just basic CLI usage.

    • asdfasdfasdf@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      18 hours ago

      Isn’t the terminal only going to affect performance when it’s displayed in stdout? I’d think a program like find / using pipes would send the data under the hood and all that the terminal would deal with would be the output of the entire command.

      • trevor@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        18 hours ago

        Perhaps that’s true. Although, I think that should be tested because I’m a little unsure since pipes are just the stdout of one command being used as the stdin of the following command. There’s still some output, even if you don’t see it.

        In any case, find has many uses, many of which will print data to the screen, and find is far from the only use case in which this would be apparent. There are tons of situations in which you’re going to have to work with large amounts of stdout/stderr, and having a GPU-accelerated terminal will be much faster in all of those situations.

    • Atemu@lemmy.ml
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      2 days ago

      I mean, it’s a terminal emulator; what’s it supposed to show, a bunch of white text on black background?

      • QuazarOmega@lemy.lol
        link
        fedilink
        arrow-up
        6
        ·
        2 days ago

        It supposedly supports fancy features, so I’m curious to see how those look, they also say it’s got top of the line speed, so maybe a screencast with side by side of reference terminal emulator (xterm?) and ghostty displaying heavy throughput output to see the smoothness goodness

        • Atemu@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          22 hours ago

          A screencast cannot really capture that. Practically any terminal is fast enough to render a shitton of text quickly and “smoothly”.

          The difference in speed can only really be felt.

          W.r.t. UI, it looks exactly like you’d expect a GTK4/adwaita terminal emulator to look.

          • QuazarOmega@lemy.lol
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            21 hours ago

            By “can only be felt” do you mean in the way it affects the performance of your system?

            • Atemu@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              18 hours ago

              No terminal emulator ever should affect the performance of the rest of your system.

              I mean that totally w.r.t. how it feels to interact with the terminal emulator.

              • QuazarOmega@lemy.lol
                link
                fedilink
                arrow-up
                1
                ·
                13 hours ago

                Sorry, what does w.r.t. stand for?

                No terminal emulator ever should affect the performance of the rest of your system.

                No idea honestly, people are saying that certain heavy output programs might just slow down the execution of other graphics related processes because text is usually expensive to draw, haven’t tried it myself

    • brax@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      14 hours ago

      I get that Sixel is old AF but is there a new standard or is it just an open sea of fragmentation where everybody picks some branched attempt at doing the same thing and rolls with it instead?

  • boredsquirrel@slrpnk.net
    link
    fedilink
    arrow-up
    15
    ·
    edit-2
    2 days ago

    Looked at it, interesting, no package, installed cosmic-term instead

    Uses alacritty under the hood, with tabs and tiles!

  • MonkderVierte@lemmy.ml
    link
    fedilink
    arrow-up
    14
    ·
    2 days ago

    Looking at ghostty-git in AUR, zig is built on haskell? With 221 haskell libraries.

    And what does it need pandoc-cli and hslua-cli for?

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    7
    ·
    2 days ago

    It’s ridiculous how much time people are spending performance optimizing terminals.

    xterm on a 120MHz Pentium on X11 in the 90s performed “fine”.

    • addie@feddit.uk
      link
      fedilink
      arrow-up
      43
      ·
      2 days ago

      Assuming you had a pretty decent monitor and graphics output in the 90s, it may have been 800x600, but more likely 640x480, and you’d have been using the standard issue bitmap font with no anti-aliasing, blitted to screen using software rendering. Probably in a single colour, too.

      Alas, the problem with that is that it doesn’t scale. On xterm a 4K monitor, I can watch Vim redrawing the screen, paging through logs is painful. Use Kitty for the same, it’s instant, I can flip through tabs and split screens too, and have niceties like anti-aliased fonts and transparency if I want them.

      Some people spend a lot of time in the terminal, so I can’t fault them for taking the time to make a nice working environment and sharing that work with others.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        8
        ·
        2 days ago

        “decent” hardware back then ran at 1024x768. I never ran less. And definitely multiple colors. But sure - no anti-aliasing and other features. But also on hardware several orders of magnitude slower.

        Though granted I don’t have a 4k monitor so maybe there are issues with that…

        Some people spend a lot of time in the terminal, so I can’t fault them for taking the time to make a nice working environment and sharing that work with others.

        I mean - it’s the first thing I open… Which is why I’m surprised others seem to have “performance issues” since I’ve never seen any.

    • PetteriPano@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      Sure, it performed “fine”.

      But it was sluggish compared to the VGA ttys we were used to.

      Now, if we can have something as snappy and at the same time as pretty as Eterm… 👌

    • geneva_convenience@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      Every Linux user has the earliest and lowest specced version of the 4k Lenovo thinkpad from back when 4k on a laptop was impractical and a stupid idea.

    • Atemu@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      The problem with xterm is that everything else about it sucks. The only other half-decent performer is mlterm which is decent but has its share of issues.

      This one feels quite snappy; better than foot.

    • MonkderVierte@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      2 days ago

      The “Abandon all hope, ye who enter here” terminal?

      Edit: that was once a comment in the sourcecode.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        Hah! It’s funny I just fired it up again for the first time and I do see a bit of flicker in xterm when paging full-screened in vim… So maybe there is something to performance optimizing terminals. :-)

    • muhyb@programming.dev
      link
      fedilink
      arrow-up
      36
      arrow-down
      3
      ·
      2 days ago

      If you’re occasionally using them, there aren’t any.

      If you’re excessively using them, there are many.

        • muhyb@programming.dev
          link
          fedilink
          arrow-up
          29
          ·
          2 days ago

          Sure, I can do that.

          • If you’re looking for something lightweight, go for st or urxvt. These are Xorg-only.
          • If you want to configure it via GUI, xfce4-terminal is the middle ground for lightweight and feature-rich. If you are on KDE, konsole would suffice. You can use these on Xorg and Wayland.
          • If you want to work with multiple panes in a single window, terminator is your friend. Used this on Xorg but not sure about its Wayland compatibility.
          • If you want GPU acceleration and more features, kitty and alacritty is out there. Both should work on Xorg and Wayland.
          • If you want something like st but pure Wayland, foot is the best lightweight terminal emulator. My current personal favourite.
          • Sturgist@lemmy.ca
            link
            fedilink
            arrow-up
            9
            ·
            2 days ago

            Fucking legend!

            Pretty sure I’m using konsole right now, whatever it is, it came pre-installed on my distro.
            Might check out foot and kitty, what I’m using is working right now, but always nice to look into different options.

            • muhyb@programming.dev
              link
              fedilink
              arrow-up
              2
              ·
              2 days ago

              Yeah, it’s one of the greatest characteristics of FOSS. We have many options and endless posibilities.

              Glad to help.

  • Zucca@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 days ago

    Hm… I don’t see it stating anything about wayland, but since it says “native” in some many places, I need to assume it won’t use Xwayland, unless specifically told to.

    Right? Anyone to confirm?

      • Zucca@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        15 hours ago

        Hm. That’s good. I wonder if it could be compiled to use no toolkit, but only rely on server-side decos.

        Oh well. I’ll give it a try.

        EDIT: We’ll it, indeed, can be compiled without toolkit. Nice. Strangely it defaulted to US keyboard layout. While all other programs do respect my system keyboard layout setting.

    • sga@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      i dont have xwayland, and it worked (though i did not test enough(lack of interest))

  • 1984
    link
    fedilink
    arrow-up
    17
    arrow-down
    1
    ·
    3 days ago

    Hacker news users seem happy with its performance, so will try tomorrow. Fun with new terminals.

    • bruhduh@lemmy.world
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      edit-2
      2 days ago

      Is there a difference in performance between terminals? Holy hell

      Edit: i always used byobu btw

  • w3dd1e@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    2 days ago

    But does it roll down like Yakuake did before I updated Fedora and broke it? :( That’s all I want.

    • Zucca@sopuli.xyz
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      I’ve been a foot user for quite some time now. However, this seems interesting.

      • SmokeInFog@midwest.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        3 days ago

        I <3 kitty, will probably give this a look but I’ve got kitty so well tuned to my liking at this point it’s hard for me to imagine switching

        • flashgnash@lemm.ee
          link
          fedilink
          arrow-up
          3
          ·
          2 days ago

          Have got kitty and xterm looking identical, multiplexing is done by zellij anyway

          I think kitty is a bit snappier but honestly you could switch one out for the other and I probably wouldn’t notice

    • Classy@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      arrow-down
      8
      ·
      2 days ago

      I was very satisfied with Bash for a long time until my friend got me using Zsh. I still am not sure i need Zsh over Bash honestly. Command autocomplete is obnoxious

      • Nibodhika@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        2 days ago

        Different things. Bash/Zsh/Fish/Nu are shells, i.e. a low level CLI interface with the computer. On systems with graphics you need a graphical program to display the shell, e.g Konsole/Gnome-shell/Alacritty. Also there’s a third (optional) program to render the line where you type commands differently, this is called a prompt and there are several different ones, e.g. Powerlevel10k/oh-my-posh/Starship.

      • cybersandwich@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        I don’t know that anyone “needs” anything more than bash. It’s the creature comforts that sell the other shells. That said, bash has never hung or crashed on me. I can’t say the same for zsh.

    • Crestwave@lemmy.world
      link
      fedilink
      arrow-up
      12
      ·
      2 days ago

      It’s incredibly fast, has the features you would want like tabs/splits, maintains comprehensive compatibility, and is written cleanly in Zig. What’s not to like?

      • brie@programming.dev
        link
        fedilink
        English
        arrow-up
        18
        arrow-down
        6
        ·
        2 days ago

        I’ve never seen a slow terminal emulator. Most terminals have tabs and splits. Never experienced compatibility issues. Don’t care about Zig at all.

        Are these all the reasons? Another toy software written out of boredom.

        • Crestwave@lemmy.world
          link
          fedilink
          arrow-up
          18
          arrow-down
          1
          ·
          edit-2
          2 days ago

          Most terminal emulators are in fact slow and they can be a huge bottleneck if you run complex TUIs or workloads that print a lot of output.

          Ever written a program that was extremely slow only for it to run instantly after removing your debug print statements? That’s because your terminal is slow.

          Fast terminal emulators already exist, but they notably refused to add tabs/splits and overall tended to be quite janky. Ghostty merging these features may not be the most groundbreaking innovation, but a high quality piece of software that can drop-in replace something you use daily with some cool improvements is something to be excited about to me. :-)

          • brie@programming.dev
            link
            fedilink
            English
            arrow-up
            7
            ·
            2 days ago

            Thanks, this clears things up. I didn’t know what exactly was making print IO slow.

            I don’t use any complex TUIs. Pretty much everything is CLI or GUI. Which TUIs did you have in mind that were slow?

            I’d like to test this soon. I’ll look for a modern TUI framework.

              • brie@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 days ago

                Fair. I hate kube though. Most companies run just 10 pods because they cargo cult google. The complexity of it is completely unjustified

                • FrederikNJS@lemm.ee
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  24 hours ago

                  The right tool for the right job.

                  I agree that many small businesses jump to Kube too early. If your entire app is a monolith and maybe a few supplementary services, then Kube is massive overkill.

                  But many people also tend to overlook all of the other benefits that suddenly become very easy to add when you already have Kube, such as a common way to collect logs and metrics, injecting instrumentation, autoscaling, automated certificate handling, automated DNS management, encrypting internal network traffic, deployment tools that practically works out of the box, and of course immutable declarative deployments.

                  Of course you can build all of this yourself, when you need it, but once you have the foundation up and running, it becomes quite easy to just add a helm chart and suddenly have a new capability.

                  In my opinion, when the company it big enough to need a dedicated ops team, then it’s big enough to benefit from Kube.