Announcement

Collapse
No announcement yet.

EXT4 Getting Faster Case-Insensitive Performance

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

  • #31
    Originally posted by vegabook View Post
    It was a CHOICE.
    It was a choice as in having every right to chooose to remain in the couch and watch silly shows on TV.

    Originally posted by vegabook View Post
    Case insensitive is move higher level. An abstraction. A simpler mapping to a more complex underlying reality. Easier for the user. In return, distance taken from explicitness. Lower control over reality.

    That's fine. Large layers of computing are about doing exactly that. Some will call it progress. I call it dumbing down.
    Abstractions are generally regarded as desireable stuff, for managing complexity.

    Case-insensitivity is more about simplifying use and avoiding errors. It's not about reducing complexity, it is about doing what is implicitly expected.

    Like: there is no dictionary, ever produced in the entire history, which puts all lower-case terms before upper case terms (thereby splitting the dictionary in two parts, the first one containing only words with initial lower case.

    Comment


    • #32
      Originally posted by xfcemint View Post

      It was a choice as in having every right to chooose to remain in the couch and watch silly shows on TV.



      Abstractions are generally regarded as desireable stuff, for managing complexity.

      Case-insensitivity is more about simplifying use and avoiding errors. It's not about reducing complexity, it is about doing what is implicitly expected.

      Like: there is no dictionary, ever produced in the entire history, which puts all lower-case terms before upper case terms (thereby splitting the dictionary in two parts, the first one containing only words with initial lower case.
      You're implying it was a lazy choice. I believe it was a choice borne of LInux's C-based heritage which is close to the metal and where strings with 'A' or 'a' are different. I do not believe it was a slapdash choice like you're implying. That seems extremely unlikely and your other perfectly good arguments suffer as a result of this flippant desire of yours to denigrate.

      That said, the arguments for both are probably difficult to parse for a "winner". As usual, "it depends".

      HOWEVER, what most people will see here, is migration towards a Windows frame of mind. It'll affect perceptions. It could hurt Linux's reputation as a technology resistant to the encroaching corporatism.

      Comment


      • #33
        Originally posted by vegabook View Post
        You're implying it was a lazy choice. I believe it was a choice borne of LInux's C-based heritage which is close to the metal and where strings with 'A' or 'a' are different. I do not believe it was a slapdash choice like you're implying.
        Yes, well, since we both seem to be missing any facts which could support one position or another, we are both free to believe whatever we like.

        Comment


        • #34
          Originally posted by chroma View Post
          I don't understand what was wrong with case sensitivity. Removing it seems like a feature regression. If one does not want to think about case, why not simply use lowercase letters exclusively when naming files? Why make it about the system in a way that potentially impacts long-established features and eventually portability between systems? Wouldn't operator flexibility and adaptation to the native and long-established *NIX culture have been easier for everyone?
          Give me 1 (ONE) use case for case sensitivity. How is being able to have foo.txt and FoO.tXT in the very same directory useful, to anyone, ever?

          Also, they're not "removing" anything, it's exactly the other way around, they're adding an option to disable it.

          Comment


          • #35
            Originally posted by anarki2 View Post

            Give me 1 (ONE) use case for case sensitivity. How is being able to have foo.txt and FoO.tXT in the very same directory useful, to anyone, ever?

            Also, they're not "removing" anything, it's exactly the other way around, they're adding an option to disable it.
            Fast file sorting, among other performance gains is one of them, and sure not a huge performance fault but relevant on high performance, but you are right that it is bringing no problem to have the ability to have no case-sensitiveness optionaly.
            Last edited by RomuloP; 06-29-2019, 08:02 PM.

            Comment


            • #36
              Originally posted by anarki2 View Post

              Give me 1 (ONE) use case for case sensitivity. How is being able to have foo.txt and FoO.tXT in the very same directory useful, to anyone, ever?
              How would losing the difference between the two be good? and if you are actually storing the case, then IT IS CASE SENSITIVE, what you have are just different APIs acting in different and confusing ways, a colision API acting contrary to the naming API.

              Btw. Have you ever had a database or emails on your computer? You will notice the files generated are often saved with a hash-name with random characters... It is very nice that those different files with random names stays separate files and are not randomly treated as the same file by broken file system.

              Also really nice that you don't need 22Mbyte ICU database that has a tendency to have security holes (macOS finds a new one in the unicode case-handling crap every other year) just to do simple file operations
              Last edited by carewolf; 06-29-2019, 08:45 PM.

              Comment


              • #37
                Originally posted by carewolf View Post
                How would losing the difference between the two be good?
                User doesn't have to type in file names with matching case, therefore making it easier to type in file names. It is expected behaviour matching lexicographical sorting in book publishing industry, phonebooks and any other lists of words or names, through centuries.

                Originally posted by carewolf View Post
                and if you are actually storing the case, then IT IS CASE SENSITIVE,
                Nope, you are wrong there.

                Originally posted by carewolf View Post
                a colision API acting contrary to the naming API.
                Actually it's name equivalence and comparison API.

                Originally posted by carewolf View Post
                Btw. Have you ever had a database or emails on your computer? You will notice the files generated are often saved with a hash-name with random characters... It is very nice that those different files with random names stays separate files and are not randomly treated as the same file by broken file system.
                That specific problem can be solved in various ways. In this particular case, the easiest is to not disable case-sensitivity for the directory in question.

                Originally posted by carewolf View Post
                Also really nice that you don't need 22Mbyte ICU database that has a tendency to have security holes (macOS finds a new one in the unicode case-handling crap every other year) just to do simple file operations
                This particular problem is a problem of that particular implementation. Case-insensitive string matching shouldn't be a big problem to implement for experienced developers. If errors were made in the past doesn't mean we should give up forever on a particular feature.

                Comment


                • #38
                  Originally posted by anarki2 View Post
                  I really wish they made this a mount option for the whole FS.
                  Yeah, I mean case sensitive is pretty cool and all, you know, the ability to have a file named 'file' and 'File' and 'fiLe' in the same directory all as different documents... But if you really think about it, case sensitive file systems are dumb because for human readability case insensitive makes the most sense, because let's admit it, you're not gonna remember which of your files named 'file' was which, and the programs sure don't give a shit about whether it's case sensitive or not because it's all 1s and 0s to them anyways and it doesn't matter if it's 'file' 'fiLe' or 'file1', they're still gonna read it just the same.

                  Similarly for command line applications, the only part where it makes sense for things to be case sensitive are commandline arguments (like -v or -V) and not filenames or executable names.

                  Still, if it ain't broken don't fix it. Not like it's a very huge deal.
                  Last edited by rabcor; 06-30-2019, 02:24 AM.

                  Comment


                  • #39
                    Originally posted by anarki2 View Post
                    Give me 1 (ONE) use case for case sensitivity. How is being able to have foo.txt and FoO.tXT in the very same directory useful, to anyone, ever?
                    There are 3 key reasons for it.
                    1) case sensitivity always has a lower cpu processing cost than case insensitivity. So embedded device case sensitive can be the best choice and even sections of your standard Linux distribution.
                    Like on most Linux distributions everything under the /usr/bin directory all lower case. The fact everything in /usr/bin is lower case enabling casefold for case insensitive would basically slowing the processing of that stuff without any point.
                    2) Libraries on Linux you do see case used to split versions. You can have 2 version of a library one with upper case the name and the a version with lower case. So program A expects the uppercase version and the program B expects the lowercase version. If A or B program gets the wrong version they are not running. Microsoft found this one out when the first did their docker stuff using lcow using 9p to ntfs while case insensitive and all hell broke lose.
                    3) You do sometimes run into the odd problem of FoO.txt and Foo.txt when you get into unicode case folding should not be merged due to X language they in fact mean two completely different things.

                    So you really do need means todo case sensitive file system for cases where it fits. Like your /home directory for most people being case insensitivity would make sense of course that is as long as your language worked for unicode casefold. For your core Linux system files it mostly does not make sense due to the standardisation on lowercase in the bin directories and libraries in the library directory can have Like libfoo.so and libFOO.so both be completely different versions.

                    Linux world ABI requirements can be a total ass.

                    Comment


                    • #40
                      Originally posted by vegabook View Post
                      I have a horrible feeling that Linux is merging with Windows. It's coming from both directions. Case sensitivity was a badge of rigour. It speaks to the underlying ascii code. It's a different damn character. 'a' != 'A' just as 97 != 65. But now we have some awful translation going on that makes it so. We're letting sloppy Windows-style workflows creep in. I blame the WSL which has coopted Linux.

                      Honestly, I'm getting a kind of Python3 feeling about Linux. A good, clean, idea, hijacked by a committee which wanted to "improve" it and killed what made it special in the first place. Sure, might make it more "mainstream" or whatever, but it's not longer something special. Personally the seed is being planted to look at new OSs. Linux is is losing its mojo.
                      Another guy seeing thigs that are only in his own mind.

                      This is a filesystem feature that is needed by one of the possible usecases. Like Samba shares, or Wine application folders.

                      It's not on by default and it's specifically designed to be enabled on a folder basis.

                      Comment

                      Working...
                      X