• Microsoft Dev Explains Why Windows is Slower than Linux
    170 replies, posted
[QUOTE=SGI Onyx;40610978]"Do one thing and do it well" is my favourite bit, it keeps your program efficient and maintains modularity, you can swap out the tiniest component if you don't like it.[/QUOTE] Mm. I find that makes programs sometimes a little [i]too[/i] granular. I feel there's sometimes strength in making parts of a program more tightly-integrated than the Unix philosophy allows. In particular, having everything in a self-contained module isn't always the most efficient way of doing something. I'm a big fan of modularity, but you wouldn't see a lot of what's called "deep magic" if everything followed that approach. Sometimes squeezing as much performance as possible out of a number of components requires integrating them as tightly as possible, but that's mostly for specialized purposes. Unix philosophy is very general-purpose.
The guy made an addendum to his statement that you should all probably read: [quote]All this has gotten out of control. I was much too harsh, and I didn't intend this as some kind of massive exposé. This is just grumbling. I didn't appreciate the appetite people outside Microsoft have for Kremlinology. I should have thought through my post much more thoroughly. I want to apologize for presenting a misleading impression of what it's like on the inside. First, I want to clarify that much of what I wrote is tongue-in-cheek and over the top --- NTFS does use SEH internally, but the filesystem is very solid and well tested. The people who maintain it are some of the most talented and experienced I know. (Granted, I think they maintain ugly code, but ugly code can back good, reliable components, and ugliness is inherently subjective.) The same goes for our other core components. Yes, there are some components that I feel could benefit from more experienced maintenance, but we're not talking about letting monkeys run the place. (Besides: you guys have systemd, which if I'm going to treat it the same way I treated NTFS, is an all-devouring octopus monster about crawl out of the sea and eat Tokyo and spit it out as a giant binary logfile.) In particular, I don't have special insider numbers on poaching, and what I wrote is a subjective assessment written from a very limited point of view --- I watched some very dear friends leave and I haven't been impressed with new hires, but I am *not* HR. I don't have global facts and figures. I may very well be wrong on overall personnel flow rates, and I shouldn't have made the comment I did: I stated it with far more authority than my information merits. Windows and Microsoft still have plenty of technical talent. We do not ship code that someone doesn't maintain and understand, even if it takes a little while for new people to ramp up sometimes. While I have read and write access to the Windows source and commit to it once in a while, so do tens and tens of thousands of other people all over the world. I am nobody special. I am not Deep Throat. I'm not even Steve Yegge. I'm not the Windows equivalent of Ingo Molnar. While I personally think the default restrictions placed on symlinks limited their usefulness, there *was* a reasoned engineering analysis --- it wasn't one guy with an ulterior motive trying to avoid a bad review score. In fact, that practically never happens, at least consciously. We almost never make decisions individually, and while I maintain that social dynamics discourage risk-taking and spontaneous individual collaboration, I want to stress that we are not insane and we are not dysfunctional. The social forces I mentioned act as a drag on innovation, and I think we should do something about the aspects of our culture that I highlighted, but we're far from crippled. The negative effects are more like those incurred by mounting an unnecessary spoiler on a car than tearing out the engine block. What's indisputable fact is that our engineering division regularly runs and releases dependable, useful software that runs all over the world. No matter what you think of the Windows 8 UI, the system underneath is rock-solid, as was Windows 7, and I'm proud of having been a small part of this entire process. I also want to apologize for what I said about devdiv. Look: I might disagree with the priorities of our compiler team, and I might be mystified by why certain C++ features took longer to implement for us than for the competition, but seriously good people work on the compiler. Of course they know what reference cycles are. We're one of the only organizations on earth that's built an impressive optimizing compiler from scratch, for crap's sake. Last, I'm here because I've met good people and feel like I'm part of something special. I wouldn't be here if I thought Windows was an engineering nightmare. Everyone has problems, but people outside the company seem to infuse ours with special significance. I don't get that. In any case, I feel like my first post does wrong by people who are very dedicated and who work quite hard. They don't deserve the broad and ugly brush I used to paint them. P.S. I have no problem with family people, and want to retract the offhand comment I made about them. I work with many awesome colleagues who happen to have children at home. What I really meant to say is that I don't like people who see what we do as more of a job than a passion, and it feels like we have a lot of these people these days. Maybe everyone does, though, or maybe I'm just completely wrong.[/quote] In essence, it's simply him being frustrated with the nature of being in a company who are in a field that you are passionate about but one where they are at the mercy of time, budgets and customers. Microsoft can't majorly change existing parts of the OS because it's depended on by millions of non-power users and enterprise solutions where upgrading everything would be prohibitively difficult/expensive. It can't have the flexibility of linux with developers committing changes to different systems left right and centre because of the risk that it'll break something critical and set the overall development process back which costs money. That's why the system is built around gradual change and new features rather than radically overhauling the old ones, it's impossible to overhaul legacy features without breaking someone's something, somewhere, so the only way to get people to move on from these legacy features is to make entirely new, overhauled ones and then deprecate the legacy features as they lose popularity. It's the nature of the windows userbase. Of course linux isn't without its problems, the liberal approach to updates and revisions means that other parts of the OS can fail all the time, and the only reason this is viable is because linux is worked on by thousands of programmers working for free, because they love what they do. [editline]12th May 2013[/editline] [QUOTE=VinLAURiA;40611005]Mm. I find that makes programs sometimes a little [i]too[/i] granular. I feel there's sometimes strength in making parts of a program more tightly-integrated than the Unix philosophy allows. In particular, having everything in a self-contained module isn't always the most efficient way of doing something. I'm a big fan of modularity, but you wouldn't see a lot of what's called "deep magic" if everything followed that approach. Sometimes squeezing as much performance as possible out of a number of components requires integrating them as tightly as possible, but that's mostly for specialized purposes. Unix philosophy is very general-purpose.[/QUOTE] I guess, but it's a good philosophy to stick to generally. Apparently systemd's moving slightly away from it though which is a little weird [editline]12th May 2013[/editline] [QUOTE=Chryseus;40610960]Windows has been a dying OS for quite a while, they just really can't compete with Linux in terms of code quality and the sheer amount of developers, I can't really see it getting any better in the future as it would take an enormous amount of work and money to modernize code that in parts dates back to the ms-dos era.. Mac OS X has a much greater advantage over Windows what with the kernel being much more modern and also opensource so I don't see them having any such problem. I've switched most of my computers to Linux as it's just so much easier and better, I know some people have issues with drivers and such but for me a lot of my stuff works with zero configuration which even Windows with its large driver database can't manage, now what with Steam being on Linux I have increasingly less reason to use Windows.[/QUOTE] um, is the mac os x code really open source?
[QUOTE=kurry;40609680]It's perfectly possible to dual boot, a lot of linux distros don't need a whole lot of space either so you can put them on a pretty small partition.[/QUOTE] Linux Mint has a 30gb partition on my hard drive and windows gets the rest of the terabyte
and this [quote]I know some people have issues with drivers and such but for me a lot of my stuff works with zero configuration[/quote] key words, I know [b]some people[/b] have issues, a lot of [b]my stuff[/b] linux is nowhere near perfect for everyone just yet
[QUOTE=Genericenemy;40609471]Proved what I thought for a long time, that Microsoft doesn't bother to do stuff like this because people simply cannot switch to another OS.[/QUOTE] They've proved a number of times that they can do just that though. When you consider stuff like the NT switch, the relatively large rewrites between Xp and Vista kernels and other stuff. Generally speaking, this article does validate one thing all of us have known for a long time. Until recently MS did not care much about the consumer. Their ancillery department did (xbox section for instance) but the main departments didn't It was all about their consumer contractors. But considering the purges in MS over the past half year or so, the relatively integration of departments and a bunch of other stuff we've seen from MS recently, something is going on in the company to bring in in line with consumer demands. It has been general knowledge that until recently MS was very competitive between departments and they hated each other quite viciously. But MS is shifting. [QUOTE=Fish_poke;40610834]Yeah, I wouldn't doubt Linux overtaking OSX sometime within the decade at all, really.[/QUOTE] Yeah I would be surprised. Linux is pretty much on a standstill and is generally not attractive to the consumer. Osx on the other hand is and apple is able to push it trough their hardware quite succesfully in a number of markets. Of course it's a different matter if you are counting android under the linux umbrella (which I think is quite foolish to do)
[QUOTE=Generic.Monk;40611130]and this key words, I know [b]some people[/b] have issues, a lot of [b]my stuff[/b] linux is nowhere near perfect for everyone just yet[/QUOTE] I have not found a single district of Linux that works properly on my boyfriend's HP laptop because of graphics driver issues
[QUOTE=danharibo;40610827]I'm not sure what reasons other people have, but generally I find that *nix OSes have much better terminals and shells (and options in that area), as well as much better developer support (valgrind has my back). I also find them a lot simpler, it's easier for me to figure out why Linux isn't working than Windows (e.g. Linux stops booting I can probably fix it myself, Windows stops booting and I'm reaching for the install disk.).[/QUOTE] linux is built to be maintained by a power user, windows is built so an average user who doesn't know much about computers doesn't fuck it up - which is more important in terms of number of people affected than being able to get in deep and fix problems manually and the terminal in linux is actively used and constantly developed for, cmd.exe is nothing but a legacy feature - i hear windows powershell is an attempt to make a useful cmd.exe because they can't remove the vanilla one because 13 years of various code probably rely on it
[QUOTE=Rika-chan;40611152]I have not found a single district of Linux that works properly on my boyfriend's HP laptop because of graphics driver issues[/QUOTE] Has it got a shitty Radeon or an Optimus? My Intel GMA's and Nvidia GPU's are flawless.
Here's hoping they get their game on, Windows should try to compete with linux on speed and security fronts.
[QUOTE=Generic.Monk;40611061]um, is the mac os x code really open source?[/QUOTE] The kernel is.
I love linux command line personally, it is so much mow friendly than the windows one. Like if I need to use fastboot on an Android device on windows I would have to mount c:/android/fastboot firat Linux the fastboot commands are integrated right into the terminal so if I need to transfer a file in my downloads folder, I can just cd:Downloads and use the fastboot command right from there
[QUOTE=Rika-chan;40611224]I love linux command line personally, it is so much mow friendly than the windows one. Like if I need to use fastboot on an Android device on windows I would have to mount c:/android/fastboot firat Linux the fastboot commands are integrated right into the terminal so if I need to transfer a file in my downloads folder, I can just cd:Downloads and use the fastboot command right from there[/QUOTE] MS-DOS could do that, you just need to set your path variable in Autoexec.bat :v:
[QUOTE=SGI Onyx;40611188]Has it got a shitty Radeon or an Optimus? My Intel GMA's and Nvidia GPU's are flawless.[/QUOTE] Ew, you use a GMA? Say what you want about Teams Red vs. Green, I thought [i]everyone[/i] agreed Team Blue was crap.
Linux right now is kind of a pool of bad design though Ever tried to set up X from scratch? Other than something as simple as setting the resoloution (in a sane way) being impossible without writing shitloads of custom code its totally amazing [editline]12th May 2013[/editline] Linux over command line is awesome though
[QUOTE=VinLAURiA;40611290]Ew, you use a GMA? Say what you want about Teams Red vs. Green, I thought [i]everyone[/i] agreed Team Blue was crap.[/QUOTE] I did until my low profile Nvidia Quadro arrived last week, nouveau is working great. [editline]12th May 2013[/editline] [QUOTE=Tobba;40611305]Linux right now is kind of a pool of bad design though Ever tried to set up X from scratch? Other than something as simple as setting the resoloution (in a sane way) being impossible without writing shitloads of custom code its totally amazing [editline]12th May 2013[/editline] Linux over command line is awesome though[/QUOTE] Yep, xrandr and arandr are very easy to use. Now... setting your resolution in the frame buffer terminal is another thing entirely.
[QUOTE=VinLAURiA;40611290]Ew, you use a GMA? Say what you want about Teams Red vs. Green, I thought [i]everyone[/i] agreed Team Blue was crap.[/QUOTE] Intel's integrated graphics (except the new ones which can put out decent frames in some games) aren't great performers but they're INTEGRATED GRAPHICS so what do you expect? What he's referring to is that intel GPUs generally work absolutely flawlessly under linux, as in literally plug and play. Nvidia and ATi require some fiddling at least to get them working but intel is pretty much perf. This is because they provide completely open source drivers, something that nVidia and ATi aren't doing presumably because of the proprietary tech they want to keep private [editline]12th May 2013[/editline] [QUOTE=Tobba;40611305]Linux right now is kind of a pool of bad design though Ever tried to set up X from scratch? Other than something as simple as setting the resoloution (in a sane way) being impossible without writing shitloads of custom code its totally amazing [editline]12th May 2013[/editline] Linux over command line is awesome though[/QUOTE] X is a complete mess full of legacy code and inefficiencies/bugs/missing features, it's not really a reflection of linux as a whole and only exists because basically all DEs/WMs depend on it. Wayland is around the corner though and is slowly making its way to us.
[QUOTE=Tobba;40611305]Linux right now is kind of a pool of bad design though Ever tried to set up X from scratch? Other than something as simple as setting the resoloution (in a sane way) being impossible without writing shitloads of custom code its totally amazing [editline]12th May 2013[/editline] Linux over command line is awesome though[/QUOTE] What do you mean by set up X from scratch?
[QUOTE=danharibo;40611451]What do you mean by set up X from scratch?[/QUOTE] Outside of a distro For me I was trying to set it up on Arch with some simple login manager, but getting it to actually set the resolution on the login screen was basicaly fucked, and setting the resoloution when logged in required me to set shit up per-user (since someone decided it was a good idea to remove the global way), and it was twitchy as fuck
the arch user guide teaches you how to setup x to a workable state, it's a little finicky but it's not too hard
[QUOTE=The Baconator;40609492]hence why the people who go "why should I leave Windows even if X got my programs, I am familiar etc" holds no water.[/QUOTE] the only reason I don't switch to linux is because of the lack of support from developers. valve is trying to change that, and I hope they do, but at the moment most linux versions of software are unstable and just generally inferior to their windows counterparts. I hope it changes, because I'm definitely not going to install windows 8.
I've been saying MS have a problem with bureaucracy for years, along with a bad case of "not invented here" on an interdepartmental basis (Look at .NET, or the 4-5 different font renderers they've written) [QUOTE=Generic.Monk;40611647]the arch user guide teaches you how to setup x to a workable state, it's a little finicky but it's not too hard[/QUOTE] I've setup X under Arch a few times, the only issue I ever ran into was it not finding the drivers for some reason, or the drivers simply not working (This wasn't on proper hardware, it was in a VM, so why the VM driver decided it can't talk to the "hardware" is beyond me) Otherwise X works pretty well these days, much better than trying to set it up back in the Red Hat 5 days (You'd configure it right, all the tests would pass, then starting it would just give you a corrupted screen and a mouse cursor) When it comes to Linux I get the feeling that some people want to make it seem harder than it actually is, no idea why though. You don't have to use the terminal to install/upgrade/compile apps (unless you want to), you don't have to manually setup X (unless you want to), etc. Nobody's saying to blow away your Windows install and go Linux full time, but why not give a distro a run in a VM? if you get annoyed with it you can just close the window.
I've tried Ubuntu out and am currently downloading Linux Mint to try out different OS, but my main problem was trying to install drivers. This made it impossible for me to connect to the internet on the computer that I installed Ubuntu on, and I considered that the one thing wrong with it. Otherwise I thought that it had a nice GUI, and the Command Prompt isn't nearly as daunting as some have said. I wanted to see the other side of the large OS battle, and I think it holds up pretty well.
I'm not really surprised. Hell you look at Vista's development when it got so bad that they stopped it entirely 2 years in and just started over from scratch. Also with Windows Vista and 7 being more modular (at least it is internally, not that a user would know), I think they should really take the time and over the releases of Windows just take a chunk or two and dedicate that time to overhauling it. Starting with the important bits like the filesystem.
[QUOTE=Panda X;40612434]I'm not really surprised. Hell you look at Vista's development when it got so bad that they stopped it entirely 2 years in and just started over from scratch. Also with Windows Vista and 7 being more modular (at least it is internally, not that a user would know), I think they should really take the time and over the releases of Windows just take a chunk or two and dedicate that time to overhauling it. Starting with the important bits like the filesystem.[/QUOTE] this article only sheds light on part of what Microsoft doesn't make public. There are plenty of, "why did they or didn't they decided to do this and that", which plenty of smart people at Microsoft or left from there who probably have wanted to do what you would say, however there's plenty of stupid people above them in the employee chain to make you face palm. Yes certain things should be focused upon, like teams who are experts in certain parts of the OS expanding and perfecting that part. Instead as far as I know, they're more and more spreading that experience requirement to many areas, while pushing the time complete projects shorter and shorter.
[QUOTE=Ithon;40612618]this article only sheds light on part of what Microsoft doesn't make public. There are plenty of, "why did they or didn't they decided to do this and that", which plenty of smart people at Microsoft or left from there who probably have wanted to do what you would say, however there's plenty of stupid people above them in the employee chain to make you face palm. Yes certain things should be focused upon, like teams who are experts in certain parts of the OS expanding and perfecting that part. Instead as far as I know, they're more and more spreading that experience requirement to many areas, while pushing the time complete projects shorter and shorter.[/QUOTE] Nah, the spreading around in expert departments is basically what hurt MS so much. It basically created nationstates which are at war with one another and are vieing to get their stuff on priority even if it technically should have less. What MS is doing now though is trying to bring everyone into line somewhat at least. Which was long overdue.
[QUOTE=Elspin;40610227]It was never a problem before. 15GB when most hard drives are around 500GB was not a big deal. It's only now becoming a problem that they're deciding to put windows on extremely tiny storage spaces. As for running it off of a CD, that is occasionally useful and I think windows 8 is supposed to be able to do that on a USB stick.[/QUOTE] You can have a working and usable Linux install on a floppy disk. Then you can have a working Linux install comparably equipped in functionality to a vanilla install of Windows and only use between 2-4 GB of disk space. Since Windows 3.0, Windows has never been able to fit on a single floppy disk, and has had a massive increase in install footprint for every successive version. Windows 3.x (10-15M) Windows 95 (41-84M) Windows 98 (120-295M) Windows ME (320M) Windows 2000 (1-5 GB) Windows XP (1.5-10 GB) Windows Vista/7 (16-20 GB, not taking into account service packs) This doesn't take into account the thousands of security patches that are systemically stacked on top of each other without trying to properly incorporate patches to reduce disk space. These patches can add anywhere from several hundred megabytes to several gigabytes. It also doesn't take into account other hardware like CPU and RAM. Also the GPU in Vista and onwards for Aero support.
I've run the floppy based distros, and I don't know if I'd call them "usable", they're missing a large portion of userland utilities. Great as a rescue disk kinda setup though, you can fit (f|g)disk and such on them quite easily.
It's sad, but yeah, business is a harsh thing. It'd be wiser to develop a completely new OS aside from the usual business and try to actually improve it the best way possible. It may even help them to actually stay in touch with their business customers since there wouldn't be any hesitation about releasing the OS. Besides: Everyone wants more performance, even 5% are still an improvement.
[QUOTE=danharibo;40609566]I Installed Mint yesterday, the instalation and day to day usage doesn't require the terminal at all (but I prefer it of course, apt-cache search <terms> and apt-get install <package> is just much quicker than using a graphical tool).[/QUOTE]Tbh I prefer graphical interfaces, simply because there's no way in hell I can remember all the commands i'd have to use instead.
The great thing about Linux, is that Linus will probably come over and stab you in real life if you try to break the ABI and API in any way. If you rewrite some part of the system that suddenly boosts performance, ok fine, but what about backwards compatibility? Oh you didn't touch how the ABI works? Cool. If you do a static compile of a userland program in Linux, it will pretty much be guaranteed to work on any distribution, for a really long time. I'm fairly sure that the binaries that shipped with Unreal Tournament 2004 will still work on Ubuntu 13.04, I haven't given a try though, I really need to play with my Linux partition on my gaming machine, I already switched my laptop to Linux-only.
Sorry, you need to Log In to post a reply to this thread.