OS X file names normalization

By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), July 15, 2020 11:58 am
Room: Moderated Discussions
Michael S (already5chosen.delete@this.yahoo.com) on July 15, 2020 11:05 am wrote:
>
> According to my understanding, it's not about Linux using either NFC or NFD.

Correct. Any normalization is fundamentally wrong in a filesystem.

The same way you don't want to change case, you really don't want to normalize. EVER.

It's really exactly the same issue.

Now, there are multiple reasons not to normalize, but the fundamental one is that you're losing information that can be relevant.

To pick one example: in Swedish, the letter 'ä' really is one letter, it has absolutely nothing to do with "a" combined with the diaeresis character. It's not an 'a' that is pronounced differently or has some other thing associated with it. It's literally its own character.

In contrast, in some other situations and other languages, the markings on top of characters (or bottom of) really are "modifiers" to the character, and people may intentionally use the decomposed form (although they rarely actually do, afaik).

So normalizing data that you don't understand how it is used (and by definition, an OS cannot know what the meaning of a filename is - that's a user choice), is truly and fundamentally broken.

And if some person tells you that they are the same, and by definition "canonically equivalent" and thus the differences don't matter, then that person doesn't understand Unicode. Being canonically equivalent does not mean that they are the same, and have to be treated the same. It means that they look the same when printed out. Nothing more, nothing less.

So canonical equivalence doesn't mean "equality", and it doesn't mean that normalizing doesn't matter. But some people get confused about it, because they think that "looks the same" means "is the same". Any technology person should know that isn't true. There are deep and fundamental differences, the same way ASCII 'A' looks and acts exactly like EBCDIC 'A', but has a fundamental encoding difference despite that.

You can't convert text from ASCII to EBCDIC and say that the end result is the same. It's not. They simple are not the same - not even if they are 100% equivalent, just different encodings of the exact same text, and should be printed out exactly the same.

And exactly as with ASCII and EBCDIC, the Unicode normal form conversions aren't reversible.

Is normalizing always wrong? No. There are places and times when you want to do it, but they are very very very rare. And you have to truly and fundamentally understand the context to do it.

So most commonly, you do normalization inside things that do comparisons between two strings, and the comparison is defined to be a normalizing one (even unicode comparisons do not have to be for equivalence! Doing "strcmp()" on UTF-8 isn't wrong). Or you may want to normalize to a combined character as part of picking the actual glyph: when you do ligatures between the letters 'f' and 'i', you should not be doing it as part of the context if the next character is a diearesis that combines with the 'i'.

(Ok, I'm not sure the latter case really counts as a normalization: it may actually be done that way, but I suspect in the big picture that's just all about the font layout rather than normalization per se).

But doing normalization at an interface where you do not understand the context is absolutely always wrong.

(Note that this is different from "malformed UTF-8", which you should also never normalize, you should either just reject that outright, or not consider to be Unicode at all. The most common reason for "malformed UTF-8" is that it simply isn't UTF-8 at all, and you have content that is some other format entirely, and you need to do a locale-aware conversion to Unicode, and turn it into UTF-8 that way).

Anyway, in almost all situations, the thing people want is NFC ("composed", "compact" or "cotrrect" - you choose the meaning of the "C"). It's the most common one, and it's the one you should use if you don't know what you're doing, and have no particular preferences, and just want to say "my data is in this form".

There are people out there (I think they are all Apple apologists) that claim that NFD is preferred because it's "faster". That's complete and utter BS. If you hear that claim, you can dismiss that person as not knowing what he's doing. That person probably had one particular problem where the decomposed form was simpler, and then decided NFD is the way to go.

But if NFD is the better one for your particular case, and you understand the conctext, by all means use NFD. NFD isn't wrong per se. It's only wrong when used blindly and when you then expose others to it. The most common reason for NFD may be to internally use it when you compare two strings, and you know that equivalence is what you want to use as the comparison criteria.

But even when you use NFD, and even when you know that your comparison criteria is "Unicode equivalence" (probably combined with case insensitivity), you don't change your source data that somebody else is using to do that! You just use it inside your own particular case where it made sense.

In a filesystem, NFD most certainly is not the way to go, for several reasons:

- don't normalize. Christ, people!

- it's less compact

- of the two main normalization choices, it's simply the wrong one

- you don't generally have to normalize even for case-insensitive comparisons

In particular, I think that what OS X (probably) does in its file handling code is to normalize the input to NFD at entry, because that way you normalize once and are done. It's slightly easier, but it means you do extra allocations and copies, and it's stupid and wrong.

And once you've done that stupid and wrong normalization, now you don't even have the original filename any more, so you save that wrong and normalized copy on disk.

Stupid.

Ignorant.

Wrong.

The smart thing to do is to avoid normalizing as long as possible, because even when you do file lookups, you can do the exact (non-normalized) match first, and that will wotk 99% of the time. And you did no extra work, so your 99% is faster.

When people have a file called "Banana" on OS X, it's true that they can look it up using the name "bAnAnA" too. But let's be honest: they don't. They open the file "Banana".

And then, because you have to get the "bAnAnA" case right too for the insane user, if you didn't have an exact match, you now go to the "slow compare" thing, and that one is likely better also done without ever normalizing either of the strings, but instead doing the comparison one normalized character at a time. Again, it's actually generally faster and cheaper to do it that way, partly because most of the time, the normalization is really simple (ie a lot of filenames are in fact plain ASCII, even in non-ASCII places - think all the system directories etc).

To get us back to vectorization, it's actually trivially doable to do all the normal US ASCII cases with a vectorized one (turning all ASCII letters from lower case to upper case is not hard, neither is it hard to test "are all these bytes US ASCII"). So the "handle all the really cheap and common cases without ever normalizing anything at all" is literally the fastest thing you can do in almost all cases, and it's often the simplest thing too, because all your fast-paths never need to care or know, or worry about extra allocations because the strings change length.

Btw, Linux doesn't normalize, and Linux filesystem accesses are generally much faster than OS X. And simpler to work with.

And look - Linux didn't corrupt any user data in the process!

Normalizing at a filesystem level really is wrong. Quod erat demonstrandum.

Linus
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Alder Lake and AVX-512me2020/07/11 06:02 AM
  Alder Lake and AVX-512Linus Torvalds2020/07/11 10:41 AM
    informative (NT)blue2020/07/11 11:40 AM
    grumpyMichael S2020/07/11 11:51 AM
      grumpyme2020/07/11 12:27 PM
    area and power cost of AVX-512Michael S2020/07/11 11:58 AM
      area and power cost of AVX-512Anon2020/07/11 03:35 PM
        area and power cost of AVX-512Michael S2020/07/12 03:16 AM
          area and power cost of AVX-512Travis Downs2020/07/12 08:13 AM
      area and power cost of AVX-512Travis Downs2020/07/11 06:19 PM
    Alder Lake and AVX-512Maynard Handley2020/07/11 01:02 PM
      Alder Lake and AVX-512Ungo2020/07/11 04:28 PM
        Alder Lake and AVX-512Maynard Handley2020/07/11 09:16 PM
      Alder Lake and AVX-512Linus Torvalds2020/07/11 05:51 PM
        Alder Lake and AVX-5122020/07/12 12:48 PM
          Alder Lake and AVX-512Michael S2020/07/12 02:07 PM
          HDRAnon32020/07/12 02:42 PM
            HDR10 in Kaby Lake?David Kanter2020/07/12 04:09 PM
              HDR10 in Kaby Lake?Maynard Handley2020/07/12 05:13 PM
                Thanks for the link (NT)David Kanter2020/07/12 05:43 PM
              HDR10 in Kaby Lake?Anon32020/07/13 12:36 AM
        Alder Lake and AVX-512Dummond D. Slow2020/07/12 02:00 PM
        AVX-512 with narrow ex units?m2020/07/23 11:10 AM
          AVX-512 with narrow ex units?Anon2020/07/23 11:53 AM
            AVX-512 with narrow ex units?Paul A. Clayton2020/07/23 05:32 PM
              AVX-512 with narrow ex units?Anon2020/07/23 05:50 PM
                AVX-512 with narrow ex units?Paul A. Clayton2020/07/23 06:45 PM
                  AVX-512 with narrow ex units?Anon2020/07/23 07:15 PM
                    AVX-512 with narrow ex units?Jukka Larja2020/07/24 03:44 AM
                      AVX-512 with narrow ex units?Gabriele Svelto2020/07/24 01:56 PM
                        AVX-512 with narrow ex units?Jouni Osmala2020/07/24 08:22 PM
                          AVX-512 with narrow ex units?Jukka Larja2020/07/25 12:32 AM
                      AVX-512 with narrow ex units?Eugene Nalimov2020/07/25 04:56 PM
                        AVX-512 with narrow ex units?Jukka Larja2020/07/26 12:28 AM
                        AVX-512 with narrow ex units?Gabriele Svelto2020/07/26 01:22 PM
                          AVX-512 with narrow ex units?Jukka Larja2020/07/27 06:00 AM
          AVX-512 with narrow ex units?-.-2020/07/23 05:32 PM
            AVX-512 with narrow ex units?Travis Downs2020/07/24 04:01 PM
    Alder Lake and AVX-512Jörn Engel2020/07/11 03:45 PM
      Alder Lake and AVX-512Chester2020/07/11 04:26 PM
        Alder Lake and AVX-512Jörn Engel2020/07/11 05:22 PM
        Alder Lake and AVX-512Michael S2020/07/12 01:02 AM
        Alder Lake and AVX-512Travis Downs2020/07/13 08:01 PM
      Alder Lake and AVX-512Linus Torvalds2020/07/11 05:54 PM
        Alder Lake and AVX-512Jörn Engel2020/07/11 07:01 PM
          Alder Lake and AVX-512N Owen2020/07/11 11:37 PM
            Alder Lake and AVX-512Michael S2020/07/12 12:48 AM
            Alder Lake and AVX-512anon22020/07/12 06:13 PM
          Alder Lake and AVX-512Travis Downs2020/07/13 08:09 PM
            Alder Lake and AVX-512Jörn Engel2020/07/13 10:42 PM
      Alder Lake and AVX-512Doug S2020/07/11 10:49 PM
        Alder Lake and AVX-512Michael S2020/07/12 12:53 AM
    Alder Lake and AVX-512Travis Downs2020/07/11 06:03 PM
      Alder Lake and AVX-512Veedrac2020/07/11 06:43 PM
        Alder Lake and AVX-512anon22020/07/12 12:31 AM
          Alder Lake and AVX-512Veedrac2020/07/12 03:01 AM
            Alder Lake and AVX-512anon22020/07/12 02:26 PM
              Alder Lake and AVX-512Anon32020/07/12 03:07 PM
                Alder Lake and AVX-512anon22020/07/12 04:39 PM
              Alder Lake and AVX-512Veedrac2020/07/12 03:21 PM
                Alder Lake and AVX-512anon22020/07/12 04:33 PM
                  Alder Lake and AVX-512Veedrac2020/07/12 04:54 PM
                    Alder Lake and AVX-512anon22020/07/12 05:20 PM
                  Alder Lake and AVX-512David Hess2020/07/12 06:32 PM
                    Alder Lake and AVX-512anon22020/07/12 07:41 PM
                Alder Lake and AVX-5122020/07/13 03:02 AM
                  Alder Lake and AVX-512anon22020/07/13 06:25 PM
                    PentiumMMX vs Transmeta's VLIW in hindsight2020/07/19 05:16 AM
                      PentiumMMX vs Transmeta's VLIW in hindsightMaynard Handley2020/07/19 09:47 AM
                      PentiumMMX vs Transmeta's VLIW in hindsightanon22020/07/19 02:24 PM
                      VLIW, OOO, Pairing, and FusionChester2020/07/19 09:16 PM
                        Poulson was in-order (NT)anon22020/07/19 11:20 PM
                        VLIW, OOO, Pairing, and FusionMichael S2020/07/19 11:48 PM
                        Itanium is NOT VLIWHeikki Kultala2020/07/20 01:27 PM
                          Itanium is NOT VLIWAdrian2020/07/20 10:03 PM
                            Itanium crappiness and EPIC - and could EPIC still have something good in it?Heikki Kultala2020/07/21 02:38 AM
                              Itanium crappiness and EPIC - and could EPIC still have something good in it?anon22020/07/21 04:03 AM
                                Itanium crappiness and EPIC - and could EPIC still have something good in it?dmcq2020/07/21 02:27 PM
                              Itanium crappiness and EPIC - and could EPIC still have something good in it?j2020/07/21 07:54 AM
                                Itanium crappiness and EPIC - and could EPIC still have something good in it?Tim McCaffrey2020/07/21 09:30 AM
                              Itanium crappiness and EPIC - and could EPIC still have something good in it?Linus Torvalds2020/07/21 08:13 AM
                                Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureHeikki Kultala2020/07/22 11:31 AM
                                  Turn that on its head?Ray2020/07/22 11:49 AM
                                    Turn that on its head?Anon2020/07/22 12:53 PM
                                    Turn that on its head?Maynard Handley2020/07/22 01:37 PM
                                    Turn that on its head?anon22020/07/22 02:32 PM
                                    Turn that on its head?anon32020/07/22 03:45 PM
                                    Turn that on its head?Heikki Kultala2020/07/23 01:53 AM
                                      Turn that on its head?Anon2020/07/23 09:20 AM
                                        Turn that on its head?Heikki Kultala2020/07/23 10:21 AM
                                          Turn that on its head?Brett2020/07/23 02:26 PM
                                            Turn that on its head?Brett2020/07/24 03:22 AM
                                      Bundling OOO entries does this implicitlyDavid Kanter2020/07/23 09:56 AM
                                      Turn that on its head?anon2020/07/23 10:49 AM
                                  Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureMaynard Handley2020/07/22 01:29 PM
                                  Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architecturewumpus2020/07/22 02:16 PM
                                    Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureDoug S2020/07/22 09:37 PM
                                      what Intel would have doneMichael S2020/07/22 11:46 PM
                                        what Intel would have doneDoug S2020/07/23 08:52 AM
                                        what Intel would have doneAnon2020/07/23 09:25 AM
                                          what Intel would have doneMichael S2020/07/23 10:23 AM
                                            what Intel would have doneMontaray Jack2020/07/23 05:08 PM
                                    Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureHeikki Kultala2020/07/22 10:47 PM
                                      Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architecturewumpus2020/07/23 12:46 PM
                                  Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureMichael S2020/07/22 11:56 PM
                                    Itanium is not synomym of EPIC. Itanium is just the most common EPIC-style architectureHeikki Kultala2020/07/23 01:44 AM
                          thanksChester2020/07/24 02:50 PM
      Alder Lake and AVX-512Linus Torvalds2020/07/11 06:46 PM
        Alder Lake and AVX-512never_released2020/07/11 07:54 PM
          Alder Lake and AVX-512Michael S2020/07/12 01:25 AM
        Alder Lake and AVX-512anon22020/07/12 12:36 AM
      Alder Lake and AVX-512Doug S2020/07/11 11:01 PM
      Alder Lake and AVX-512Michael S2020/07/12 01:41 AM
        Alder Lake and AVX-512rwessel2020/07/12 09:17 AM
      Alder Lake and AVX-512-.-2020/08/18 02:24 AM
        Alder Lake and AVX-512Travis Downs2020/08/18 10:04 PM
    Alder Lake and AVX-512Geoff Langdale2020/07/11 06:49 PM
      Alder Lake and AVX-512anon2020/07/11 07:12 PM
      Alder Lake and AVX-512Jörn Engel2020/07/11 07:33 PM
        Alder Lake and AVX-512Michael S2020/07/12 02:00 AM
        Alder Lake and AVX-512Jukka Larja2020/07/12 07:51 AM
          Alder Lake and AVX-512Maynard Handley2020/07/12 09:30 AM
            Alder Lake and AVX-512Jukka Larja2020/07/13 06:43 AM
              Alder Lake and AVX-512Montaray Jack2020/07/23 06:20 PM
                Alder Lake and AVX-512Jukka Larja2020/07/24 03:57 AM
          Alder Lake and AVX-512Jörn Engel2020/07/12 10:35 AM
            Alder Lake and AVX-512Linus Torvalds2020/07/12 11:01 AM
              Alder Lake and AVX-512Linus Torvalds2020/07/12 11:15 AM
                Alder Lake and AVX-512anonymou52020/07/12 12:50 PM
                  Alder Lake and AVX-512Linus Torvalds2020/07/12 01:31 PM
                    Alder Lake and AVX-512anonymou52020/07/12 02:09 PM
                      Alder Lake and AVX-512Linus Torvalds2020/07/12 03:25 PM
                        Alder Lake and AVX-512anonymou52020/07/12 07:34 PM
                          Alder Lake and AVX-512Jose2020/07/13 12:35 AM
                  Alder Lake and AVX-512gallier22020/07/13 01:11 AM
                Alder Lake and AVX-512gallier22020/07/13 01:01 AM
                  Alder Lake and AVX-512Linus Torvalds2020/07/13 10:06 AM
                    Alder Lake and AVX-512Doug S2020/07/13 11:11 AM
                      Alder Lake and AVX-512Brett2020/07/14 01:34 AM
                        Alder Lake and AVX-512Linus Torvalds2020/07/14 08:02 AM
                          Alder Lake and AVX-512Maynard Handley2020/07/14 11:40 AM
                            Alder Lake and AVX-512Michael S2020/07/14 11:48 AM
                            Alder Lake and AVX-512Linus Torvalds2020/07/15 12:37 AM
                              OS X file names normalizationMichael S2020/07/15 01:26 AM
                                OS X file names normalizationSimon Farnsworth2020/07/15 03:16 AM
                                  OS X file names normalizationMichael S2020/07/15 09:51 AM
                                    OS X file names normalizationSimon Farnsworth2020/07/15 11:27 AM
                                OS X file names normalizationDoug S2020/07/15 09:46 AM
                                  OS X file names normalizationMichael S2020/07/15 10:05 AM
                                    OS X file names normalizationLinus Torvalds2020/07/15 11:58 AM
                                      OS X file names normalizationLinus Torvalds2020/07/15 01:21 PM
                                      OS X file names normalizationgallier22020/07/15 10:57 PM
                                    OS X file names normalizationgallier22020/07/15 10:44 PM
                                  OS X file names normalizationRob Thorpe2020/07/15 10:23 AM
                                    OS X file names normalizationDoug S2020/07/15 12:32 PM
                                      OS X file names normalizationMaynard Handley2020/07/15 04:20 PM
                                        OS X file names normalizationLinus Torvalds2020/07/15 07:37 PM
                                          OS X file names normalizationAnon32020/07/16 12:43 PM
                                            OS X file names normalizationDoug S2020/07/16 02:38 PM
                                              OS X file names normalizationLinus Torvalds2020/07/16 11:21 PM
                                                OS X file names normalizationAnon32020/07/17 01:15 AM
                                                  OS X file names normalizationJukka Larja2020/07/17 05:40 AM
                                                OS X file names normalizationgallier22020/07/17 02:19 AM
                                                  OS X file names normalizationLinus Torvalds2020/07/17 08:41 AM
                                                    OS X file names normalizationDummond D. Slow2020/07/17 08:54 AM
                                                      OS X file names normalizationLinus Torvalds2020/07/17 09:16 AM
                                                      OS X file names normalizationSimon Farnsworth2020/07/18 05:12 AM
                                              OS X file names normalizationAnon32020/07/17 01:04 AM
                                                OS X file names normalizationDoug S2020/07/17 09:15 AM
                              Alder Lake and AVX-512Maynard Handley2020/07/15 09:32 AM
                            File Systems and VC ProblemsRob Thorpe2020/07/15 06:24 AM
                    vectorization of utf8Robert David Graham2020/07/13 01:36 PM
                      vectorization of utf8anon22020/07/13 04:07 PM
                        vectorization of utf8Robert David Graham2020/07/13 07:36 PM
                          vectorization of utf8anon22020/07/13 10:23 PM
                        vectorization of utf8Maynard Handley2020/07/13 09:46 PM
                      vectorization of utf8Gabriele Svelto2020/07/15 02:27 AM
                    Alder Lake and AVX-512gallier22020/07/14 12:13 AM
              Alder Lake and AVX-512Jörn Engel2020/07/12 12:29 PM
                Alder Lake and AVX-512Linus Torvalds2020/07/12 01:08 PM
                  Alder Lake and AVX-512Jörn Engel2020/07/12 05:26 PM
                    Alder Lake and AVX-512-.-2020/07/12 06:11 PM
                      Alder Lake and AVX-512Jörn Engel2020/07/12 06:43 PM
            Alder Lake and AVX-512Jukka Larja2020/07/13 07:38 AM
              Alder Lake and AVX-512Jörn Engel2020/07/13 09:10 AM
                Alder Lake and AVX-512Michael S2020/07/13 10:02 AM
                  Alder Lake and AVX-512Jörn Engel2020/07/13 10:22 AM
                    Alder Lake and AVX-512Michael S2020/07/13 11:10 AM
                      Alder Lake and AVX-512Jörn Engel2020/07/13 03:03 PM
                Alder Lake and AVX-512Jukka Larja2020/07/14 05:53 AM
      Alder Lake and AVX-512Linus Torvalds2020/07/11 07:34 PM
        Alder Lake and AVX-512Brett2020/07/11 08:02 PM
          Alder Lake and AVX-512David Hess2020/07/13 11:36 AM
            Alder Lake and AVX-512anonymou52020/07/13 12:01 PM
              Alder Lake and AVX-512Brett2020/07/13 03:19 PM
        Alder Lake and AVX-512Geert2020/07/11 08:36 PM
          AMD's FPUChester2020/07/12 01:28 AM
            Is 3|5 lower than 4?Michael S2020/07/12 02:59 AM
              Is 3|5 lower than 4?Chester2020/07/12 04:54 AM
        Alder Lake and AVX-512Geoff Langdale2020/07/11 10:45 PM
          Alder Lake and AVX-512me2020/07/12 02:44 AM
          Alder Lake and AVX-512Michael S2020/07/12 03:09 AM
          Alder Lake and AVX-512Linus Torvalds2020/07/12 10:35 AM
            ~80% of details are wrong. So what one can expect from conclusions? :( (NT)Michael S2020/07/12 10:57 AM
              ~80% of details are wrong. So what one can expect from conclusions? :(anonymous22020/07/12 11:50 AM
            Alder Lake and AVX-512nobody in particular2020/07/12 11:25 AM
              Alder Lake and AVX-512Linus Torvalds2020/07/12 11:37 AM
                Alder Lake and AVX-512nobody in particular2020/07/12 11:43 AM
                  Alder Lake and AVX-512me2020/07/12 12:32 PM
                    Alder Lake and AVX-512Maynard Handley2020/07/12 07:51 PM
            Alder Lake and AVX-512UnmaskedUnderflow2020/07/12 11:33 AM
            AVX-512 vs SVE2-.-2020/07/12 05:22 PM
              AVX-512 vs SVE2noko2020/07/12 11:12 PM
                AVX-512 vs SVE2-.-2020/07/13 03:00 AM
            Alder Lake and AVX-512Geoff Langdale2020/07/12 07:18 PM
              Could you please stop top-posting (NT)Jukka Larja2020/07/13 07:45 AM
              Alder Lake and AVX-512Romain Dolbeau2020/07/15 12:00 AM
            Alder Lake and AVX-512Spiteful Sprites2020/07/13 03:59 AM
              Alder Lake and AVX-512nobody in particular2020/07/13 08:12 AM
                Alder Lake and AVX-512Spiteful Sprites2020/07/13 03:21 PM
                  Alder Lake and AVX-512Jouni Osmala2020/07/14 01:55 AM
                  RISC-V & commercial support (was: Alder Lake and AVX-512)Romain Dolbeau2020/07/15 12:11 AM
                    RISC-V & commercial support (was: Alder Lake and AVX-512)Romain Dolbeau2020/07/15 12:13 AM
              Alder Lake and AVX-512Linus Torvalds2020/07/13 10:10 AM
            AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Romain Dolbeau2020/07/14 09:09 AM
              AVX-512/SVE & HPC (was: Alder Lake and AVX-512)anon2020/07/14 09:53 AM
                AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Romain Dolbeau2020/07/14 10:27 AM
                  AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Maynard Handley2020/07/14 11:52 AM
                  AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Doug S2020/07/14 12:43 PM
                  AVX-512/SVE & HPC (was: Alder Lake and AVX-512)anon2020/07/14 02:01 PM
              AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Linus Torvalds2020/07/14 11:00 AM
                AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Romain Dolbeau2020/07/14 10:42 PM
                  Configurable cache line size?Doug S2020/07/15 09:56 AM
                    Configurable cache line size?dmcq2020/07/15 02:43 PM
                    Configurable cache line size?Romain Dolbeau2020/07/15 10:37 PM
                    Configurable cache line size?NoSpammer2020/07/16 12:27 AM
                    Configurable cache line size?Pixie2020/07/16 09:55 AM
                      Configurable cache line size?Etienne2020/07/17 12:03 AM
                        Configurable cache line size?Hugo Décharnes2020/07/18 01:11 AM
                  Cache line sizeMark Roulo2020/07/15 05:10 PM
                    Cache line sizeanon2020/07/15 05:46 PM
                  AVX-512/SVE & HPC (was: Alder Lake and AVX-512)Gabriele Svelto2020/07/17 01:30 AM
                    AVX-512/SVE & HPC (was: Alder Lake and AVX-512)dmcq2020/07/17 02:34 AM
                      AVX-512/SVE & HPC (was: Alder Lake and AVX-512)zArchJon2020/07/17 12:16 PM
            Macro-instructions to the rescue2020/07/24 11:56 AM
              Some fundamentals haven't changedChester2020/07/24 02:59 PM
                Some fundamentals haven't changed2020/07/24 03:24 PM
                  Some fundamentals haven't changeddmcq2020/07/25 06:58 AM
                    Some fundamentals haven't changed2020/07/25 10:05 AM
                    Some fundamentals haven't changedBrett2020/07/25 01:16 PM
                      Some fundamentals haven't changedBrett2020/07/25 01:27 PM
                      What belt is.Heikki Kultala2020/07/26 06:49 AM
                        What belt is.Michael S2020/07/26 09:00 AM
                          What belt is.Brett2020/07/26 10:46 PM
                            What belt is.Michael S2020/07/26 11:52 PM
                              What belt is.Brett2020/07/27 06:25 AM
                                What belt is.Doug S2020/07/27 12:31 PM
                                  What belt is.Andrew Clough2020/07/28 05:11 AM
                                    What belt is.dmcq2020/07/28 07:17 AM
                                      Mill Compiler still MIA?Geoff Langdale2020/07/28 04:04 PM
                                        If they release the compiler, how they will blame the still-in-development compiler for the lacklust (NT)Anon2020/07/28 04:20 PM
                                          If they release the compiler, how they will blame the still-in-development compiler for the lacklustAnon2020/07/28 04:20 PM
                                        Apparently they're busy writing a kernel...Anon2020/07/29 02:03 AM
                                          Apparently they're busy writing a kernel...dmcq2020/07/29 02:39 AM
                        What belt is.2020/07/26 10:44 AM
                          What belt is.anonymous22020/07/26 11:02 AM
                            What belt is.Doug S2020/07/26 02:26 PM
                              What belt is.2020/07/26 03:02 PM
        gooduseruser2020/07/12 09:06 AM
      Alder Lake and AVX-512-.-2020/07/11 08:03 PM
        Alder Lake and AVX-512-.-2020/07/11 08:07 PM
      Alder Lake and AVX-512j2020/07/12 11:29 PM
        Alder Lake and AVX-512Michael S2020/07/13 12:12 AM
          Alder Lake and AVX-512j2020/07/13 01:58 AM
            Alder Lake and AVX-512dmcq2020/07/13 03:53 PM
              Alder Lake and AVX-512Michael S2020/07/13 11:57 PM
                Alder Lake and AVX-512Maynard Handley2020/07/14 09:26 AM
                Alder Lake and AVX-512dmcq2020/07/14 11:33 AM
                  Alder Lake and AVX-512dmcq2020/07/14 02:43 PM
                    Alder Lake and AVX-512Michael S2020/07/14 11:55 PM
                      Alder Lake and AVX-512dmcq2020/07/15 01:19 AM
                        Alder Lake and AVX-512Michael S2020/07/15 01:34 AM
                          Alder Lake and AVX-512dmcq2020/07/15 02:03 AM
                            Alder Lake and AVX-512Michael S2020/07/15 08:43 AM
                              Alder Lake and AVX-512dmcq2020/07/15 08:54 AM
                                Alder Lake and AVX-512Michael S2020/07/15 10:35 AM
                                  Alder Lake and AVX-512dmcq2020/07/15 02:18 PM
                                    GV100 + POWER9Michael S2020/07/16 12:17 AM
                                      GV100 + POWER9dmcq2020/07/16 07:58 AM
                                        GV100 + POWER9dmcq2020/07/16 08:10 AM
                        Alder Lake and AVX-512dmcq2020/07/15 01:48 AM
    Alder Lake and AVX-512o2020/07/12 02:08 AM
    Alder Lake and AVX-5122020/07/12 10:07 AM
      Alder Lake and AVX-5122020/07/12 10:32 AM
      Alder Lake and AVX-512Linus Torvalds2020/07/12 10:39 AM
        Alder Lake and AVX-5122020/07/12 11:47 AM
        Alder Lake and AVX-512Michael S2020/07/12 12:18 PM
          x87 crapHeikki Kultala2020/07/12 12:30 PM
            x87 crapMichael S2020/07/12 12:37 PM
              x87 crapHeikki kultala2020/07/12 01:11 PM
                x87 crapMichael S2020/07/12 01:50 PM
                  Sparc and PA-RISC vs pentium FP performanceHeikki Kultala2020/07/13 12:14 AM
                    Sparc and PA-RISC vs pentium FP performanceanonymous22020/07/13 09:48 AM
          Alder Lake and AVX-512Doug S2020/07/12 02:33 PM
            Alder Lake and AVX-512Michael S2020/07/12 03:10 PM
    Alder Lake and AVX-512David Kanter2020/07/12 04:01 PM
      Alder Lake and AVX-512anon2020/07/12 04:40 PM
      ~0% of users do much FP outside of GPUs for games (NT)anonymous22020/07/12 04:47 PM
        ~0% of users do much FP outside of GPUs for gamesMaynard Handley2020/07/12 11:26 PM
        not trueChester2020/07/12 11:37 PM
          not trueMichael S2020/07/13 12:29 AM
            not trueChester2020/07/13 12:59 AM
              not trueanonymous22020/07/13 09:32 AM
                not trueMaynard Handley2020/07/13 01:30 PM
                  not trueChester2020/07/14 04:47 AM
            not trueDoug S2020/07/13 11:30 AM
              not trueAnon2020/07/13 12:16 PM
                not trueMaynard Handley2020/07/13 01:39 PM
              not trueMaynard Handley2020/07/13 01:38 PM
          not trueLinus Torvalds2020/07/13 10:27 AM
            not trueDummond D. Slow2020/07/13 01:10 PM
              not trueMaynard Handley2020/07/13 01:49 PM
                not trueDummond D. Slow2020/07/13 02:38 PM
            not true (about FP, not avx-512)Chester2020/07/17 09:37 AM
  Alder Lake and AVX-512Travis Downs2020/07/11 05:45 PM
    Alder Lake and AVX-512-.-2020/07/11 05:57 PM
      Alder Lake and AVX-512-.-2020/07/12 03:26 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?