Announcement

Collapse
No announcement yet.

EXT4 Getting Faster Case-Insensitive Performance

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

  • #21
    Originally posted by xfcemint View Post

    Case sensitivity is a badge of laziness, sloppines, bad design and lack of forethought by software developers who fail to implement a better solution. Case sensitivity is easiest to implement, all other approaches require more work. That's the only reason why it is used.
    it's not "bad design". It's lean design. "Sloppines" [sic]. What an idiotic thought. It was a CHOICE. DOS from 1981 did case insensitive on a stone-age 8088 so it's not like the idea was not around.

    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. My view is that the Linux command line is about explicit control with as little getting in the way of reality as possible.

    But clearly others think that the shell needs to compete with the browser.
    Last edited by vegabook; 29 June 2019, 03:39 PM.

    Comment


    • #22
      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


      • #23
        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


        • #24
          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; 29 June 2019, 08:02 PM.

          Comment


          • #25
            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; 29 June 2019, 08:45 PM.

            Comment


            • #26
              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; 30 June 2019, 02:24 AM.

              Comment


              • #27
                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


                • #28
                  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


                  • #29
                    Originally posted by xfcemint View Post
                    Abstractions are generally regarded as desireable stuff, for managing complexity.
                    Abstraction can be good or bad depending on where it is employed. Too much abstraction is bad as it limits flexibility or performance.

                    Case-insensitivity is more about simplifying use and avoiding errors. It's not about reducing complexity, it is about doing what is implicitly expected.
                    This can be done by a library in the program side too and it's going to be fine.

                    If you need case-insensitive filesystems to "avoid errors" you have bigger problems.

                    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.
                    False analogy. Dictionaries explain the meaning of words. A word with uppercase or lowercase letters has the same meaning (usually).

                    File names are just designations, pointers to some addresses on a memory device. How you define their standard is arbitrary.

                    Comment


                    • #30
                      Originally posted by starshipeleven View Post
                      This is a filesystem feature that is needed by one of the possible usecases. Like Samba shares, or Wine application folders.
                      Just to be horrible there are applications that need case sensitive for Samba and Windows drives.


                      Yes it a windows 10 that one.
                      https://docs.microsoft.com/en-us/pre...783185(v=ws.10)
                      But you have use cases back on windows 2003 and other places where you need also do case sensitive to allow wine to emulate NFS storage to application.

                      Windows is not always case insensitive. Also it possible to nuke out the casefold data out of a NTFS drive. There is a table written into a NTFS partition containing the drives casefold map. No casefold map NTFS is now drive way case sensitive. If you do that to a windows install watch lots of third party applications explode. But items like MS Office and other programs from Microsoft keep working perfectly because this is a test case they have to perform in development.


                      Windows client(samba)/application(wine) support is one of the usage cases that give the requirement to support both case insensitive and case sensitive at the file system level. Yes per folder is required.

                      Comment

                      Working...
                      X