4 ms·
Why are people obsessing about the overhead of two function calls? What application are you writing that needs to optimize passing millions of long file names i
by civilized 3y ago
Why are people obsessing about the overhead of two function calls? What application are you writing that needs to optimize passing millions of long file names in real time? Is this some kind of file path based video game?
- gpderetta 3y agoGit, for example, used by millions of developers every day.
- GoblinSlayer 3y agoWindows kernel uses UTF-16, so reencoding happens anyway, even if you don't know about it.
- im3w1l 3y agoCrazy idea... but what if you stored the files in a fast purpose-built database instead of the normal file system. You would have to mount it I suppose, to be able edit the files. But I think it could be very performant.
- gpderetta 3y agoThe filesystems is a database for storing files already. There is no particular reason a different approach be faster in principle.
- kmeisthax 3y agoGit actually does have a separate disk format that's way more database-like, but it's only used for older data that doesn't need to be shuffled around as often. Git was written assuming the filesystem is decently fast at metadata mutation, which is a good assumption on Linux and less so on Windows.
- im3w1l 3y agoGit needs some queries that filesystems arent very good at natively, like "get all modified files". There are workarounds but yeah.
- mdaniel 3y agohttps://en.wikipedia.org/wiki/WinFS https://en.wikipedia.org/wiki/WinFS I was actually secretly cheering for that project, because I thought it could be actually innovative But, as I look back on that with my modern understanding of Microsoft's backward compatibility focus, I realize such a thing would never, ever fly
- justsomehnguy 3y ago.WAD .PAK .PK3
- civilized 3y agoIt's still going to be a tiny fraction of what git does, so speeding it up will have a negligible impact on performance.
- cerved 3y agoGit reads and writes a lot of files in the working tree as well as the object store. It's a large part of what it does
- civilized 3y agoI'm aware that passing a file name is a part of working with a file. I'm just skeptical that it's such a large fraction of the computation that optimizing it would provide a noticeable performance boost.