Announcement

Collapse
No announcement yet.

uutils 0.0.21 Released With More Improvements For GNU Coreutils Written In Rust

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

  • #31
    Originally posted by rmfx View Post
    Too many dependencies.
    Just batch the stuff so it's not relying on 200 packages...
    ​When you use your code, you can hold yourself responsible for your own work and use your best judgement on when or if to release. If your code doesn't guarantee quality by your own standards, you can be free to fix your work. Putting yourself under the mercy of random people simply is not feasible.
    -- https://www.phoronix.com/forums/foru...76#post1398476

    If you build your code from too many external libraries, you risk pulling in bugs these library authors introduced.
    -- https://www.phoronix.com/forums/foru...post1398497​

    Comment


    • #32
      Originally posted by Nth_man View Post

      If you go to https://archlinux.org/packages/extra...ils-coreutils/, you click on the "Download From Mirror" link, you download the file, you uncompress it, you go to the executable file ("uu-coreutils") and you execute:
      Code:
      $ grep --text -o -i Rust 'uu-coreutils' | wc -l
      you see: 4895. You see how plenty of bloat an executable can be.

      4895 times "Rust" in an executable? Please! It's not a program about Rust! It's a program about copying files, moving files... That's bloat!​
      It may be so, but are you searching into the binaries only, or also into any text or other support files too?

      Comment


      • #33
        Originally posted by Nth_man View Post

        ​When you use your code, you can hold yourself responsible for your own work and use your best judgement on when or if to release. If your code doesn't guarantee quality by your own standards, you can be free to fix your work. Putting yourself under the mercy of random people simply is not feasible.
        -- https://www.phoronix.com/forums/foru...76#post1398476

        If you build your code from too many external libraries, you risk pulling in bugs these library authors introduced.
        -- https://www.phoronix.com/forums/forum/software/programming-compilers/1398170-uutils-0-0-20-improves-gnu-coreutils-compatibility-for-this-rust-written-replacement?p=1398497#post1398497​
        Looks like you are advocating to avoid reuse at all. To add some feature, would you write everything from scratch even if there are libraries available? Or do you mean to copy and paste into your sources any external dependencies if you need them?


        Comment


        • #34
          Originally posted by darkonix View Post

          > > $ grep --text -o -i Rust 'uu-coreutils' | wc -l

          > > 4895 times "Rust" in an executable? Please! It's not a program about Rust! It's a program about copying files, moving files... That's bloat!​​

          > It may be so, but are you searching into the binaries only, or also into any text or other support files too?
          As we can see in the 'grep' command: only in the 'uu-coreutils' executable file, it's the most important file.

          Comment


          • #35
            Originally posted by Nth_man View Post

            As we can see in the 'grep' command: only in the 'uu-coreutils' executable file, it's the most important file.
            I see now, it seems that all the utilities are built into a single binary. At least by default, not sure if this is configurable. Now I remember reading something about this. I just built the sources from scratch and doing the same search I'm only getting 44 instances.

            Code:
            $ grep --text -o -i Rust 'coreutils' | wc -l
                44​

            Comment


            • #36
              Originally posted by jacob View Post

              Rewriting uucp in Rust, now that's an anachronism.
              Now I'm tempted... I was thinking about writing some (read only) user space file system drivers for legacy file systems in Rust (to support my retro computing hobby). But this might be better.

              Comment


              • #37
                Originally posted by jacob View Post

                There is nothing key about this "principle". Rather it's a myth among people who are too incompetent to be able to tackle the inherent and unavoidable complexity. If it were true, we would all be using Sinclair XZ81's, or the operating system of choice would still be MS-DOS.
                Yeah right, you beat laws of math & physics with your super brain...
                Good luck with your over-complicated and bloated life then...

                Comment


                • #38
                  Originally posted by darkonix View Post

                  I see now, it seems that all the utilities are built into a single binary. At least by default, not sure if this is configurable. Now I remember reading something about this. I just built the sources from scratch and doing the same search I'm only getting 44 instances.

                  Code:
                  $ grep --text -o -i Rust 'coreutils' | wc -l
                  44​
                  It's built into a single binary to reduce bloat. Otherwise you get the common library code duplicated into 100 different binaries instead of all of them sharing 1 copy.

                  It is a build config option for those that care.

                  Comment


                  • #39
                    Originally posted by Nth_man View Post

                    If you go to https://archlinux.org/packages/extra...ils-coreutils/, you click on the "Download From Mirror" link, you download the file, you uncompress it, you go to the executable file ("uu-coreutils") and you execute:
                    Code:
                    $ grep --text -o -i Rust 'uu-coreutils' | wc -l
                    you see: 4895. You see how plenty of bloat an executable can be.

                    4895 times "Rust" in an executable? Please! It's not a program about Rust! It's a program about copying files, moving files... That's bloat!​
                    It just contains file names like /rustc/xxx/library/core/src/mod.rs, etc. Those are used for printing backtraces and assertions. It's possible to build the project without it.

                    Comment


                    • #40
                      Originally posted by rmfx View Post

                      Never heard of the key engineering principles, where the more complex (except redundancy) and dependant a system is, the more fragile it becomes ?
                      Having 5 different implementations of command line parsing is a surefire way to make a set of utils more fragile and unreliable. Better to put all that stuff in a separate and central command line parsing libaray.

                      Learn to actually design good systems before you whine about "engineering principles." Pulling things in from central libraries makes the code less complex, not more. Did you think all those separate coppies of the same functionality littered about in the C code were making things LESS complex?

                      It's not like that functionality ceases to exist just because you didn't pull in a library for it. You get to implement it (badly) yourself. Over and over.
                      Last edited by Developer12; 07 September 2023, 09:16 PM.

                      Comment

                      Working...
                      X