Slashdot Mirror


Who Has Faster Pipes? Linux, Win2000, WinXP Compared

SeaBait writes: "This revealing article about the High-performance programming techniques on Linux and Windows shows that Linux rules. The performance testing was on Pipes(interprocess communication mechanism available on both Windows and Linux and UNIX). Although I new Linux would fare the best, the poor performance of Windows XP was a surprise. Windows 2000 actually did better than XP!"

149 of 534 comments (clear)

  1. Can you say "flamebait"? by DrPascal · · Score: 3, Troll

    I'm a fan of Slashdot, but I get a little sick of the Windows/Linux comparisons, -especially- when the post includes something like "but THIS test shows that Linux rocks!" Yay. Are we going to argue over PCs vs. Macs next?

    --
    DrPascal: Not the language, the mathematician.
    1. Re:Can you say "flamebait"? by imp · · Score: 2

      Especially when other systems (like NetBSD, FreeBSD,Solaris) were omitted.

    2. Re:Can you say "flamebait"? by Rupert · · Score: 3, Interesting

      Microsoft has a well funded PR department to put out benchmarks that show Windows in a positive light. The Linux community doesn't. If we want to compare OSes in areas in which Linux excels (and admittedly there are some who don't) we have to use grassroots methods, such as posting it to Slashdot.

      --

      --
      E_NOSIG
    3. Re:Can you say "flamebait"? by linuxpng · · Score: 2

      we argue about processors, is that close enough?

    4. Re:Can you say "flamebait"? by benwb · · Score: 4, Insightful

      Especially since Pipes are basically unused for server applications on Windows. The only significant place that Microsoft still recommends their use is when your connecting to a SQL Server database that resides on the same box as you components. Other than that you're pretty much dealing with console processes. Windows has much better IPC mechanism (COM and COM+ Events and Method Calls, Local Procedure Calls, Memory Mapped Files...)

    5. Re:Can you say "flamebait"? by little+alfalfa · · Score: 5, Insightful

      The big deal about this one is that the testing is done by a real company. It's written by a senior programmer at IBM. Many of us would hesitate to dismiss what he says here. This is not some sponsored study as were many tests that have been done in the past.

    6. Re:Can you say "flamebait"? by zangdesign · · Score: 2, Insightful

      And IBM has a vested interest in the success of what operating system? Maybe ... Li-NUX?

      It all depends on who you trust - me, I don't trust any camp, MS or OS. There's just too much religious fanaticism and not enough rational discussion on either side.

      Well, at least not here anyway.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    7. Re:Can you say "flamebait"? by SCHecklerX · · Score: 2
      Yeah, but you can't do quick/simple things like, i dunno, create a named pipe that you can print to, and it will create a PDF file instead (daemon listening to the named pipe just pipes to ps2pdf). Not a great example, but you get the point.

      I use a named pipe for the commands that control my jukebox. Simple. Elegant. Easy to code. Why use complex sockets when you don't really need them? What can be easier than dumping commands to a file and having the listening daemon act accordingly?

    8. Re:Can you say "flamebait"? by iceT · · Score: 2

      So, if someone was porting their UNIX application to Windows, you're suggesting that they completely rewrite the application for COM?

      If PIPES don't work, why do they support them?

      --
      -- You can't idiot-proof anything, because they're always coming out with better idiots.
    9. Re:Can you say "flamebait"? by drinkypoo · · Score: 3, Insightful
      Yeah, but you can't do quick/simple things like, i dunno, create a named pipe that you can print to, and it will create a PDF file instead (daemon listening to the named pipe just pipes to ps2pdf). Not a great example, but you get the point.

      You can create named pipes; The OS-supplied ones include CON:, NUL:, PRN:, and so on. It is in fact possible to create new ones.

      It's still better to have printer drivers, though. It's a feature that UNIX needs (and is getting, of course, through that new printing system whose name I forgot, and the linking of which someone else will probably get karma for.) Printer drivers are user friendly.

      Why use complex sockets when you don't really need them? Later extensibility. Of course, if you're the only one who will ever see your code, you're right, it doesn't really matter.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:Can you say "flamebait"? by wishus · · Score: 2

      Well, the "linux rules" statement was made by the submitter, not the editors. The editors just posted a story they though some of us might be interested in. Some submitters write better stories than others, but I like the way the editors quote the submitter - it gives a little flare and sense of community to the front page.

    11. Re:Can you say "flamebait"? by Telek · · Score: 5, Informative
      But this guy doesn't appear to know what he's talking about... He's comparing apples to oranges here... No, apples to watermelons... Now I'm not all that up to speed on linux pipes, but from what I can tell they are completely different from windows pipes. At least from windows named bi-directional pipes, which is what he tested them against. (And lets completely forget here for a second that he works for IBM, which has all but pronounced vendetta on Microsoft... No possible bias there.)

      Under windows, there are many things the he "neglected" to notice:

      • pipes in Windows have ACLs (access control lists).
      • There are two types of pipes: Anonymous pipes and named pipes. Anonymous pipes require less overhead than named pipes, but offer limited services. He "neglected" to test anonymous pipes on Windows platforms (which BTW are faster).
      • Windows Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network.
      • Windows XP can provide encryption for pipes, which might explain the drastically lower rates. Since XP is based on the same kernel as Windows 2000 there's obviously some additional setting that is on by default now that is causing the decreased rates.


      Also:

      the term pipe server refers to a process that creates a named pipe, and the term pipe client refers to a process that connects to an instance of a named pipe. This is why you have one method to Create the pipe, and one to Open it. BTW -- the Opening method is a universal resource opening method on windows PCs.

      You can go here if you want to know more about pipes on windows.

      AND

      I also tried his programs, and you don't need that mystical +24 to get it to work. I don't know why he needed it. Perhaps because he was using some old or wierd cl? I'd also suggest that he try to compile it with MSVC (unless he got the cl.exe from there) as I would bet that would make it faster as well.

      So, from what I read he basically said "Well, I'm gonna compare this thingy called a 'pipe' over here on windows to this really old and simple 'pipe' thingy over here on linux" without checking to see what was actually under the hoods of the two beasts he was comparing.

      Man, /. really has turned into a tabloid lately.
      --

      If God gave us curiosity
    12. Re:Can you say "flamebait"? by ikekrull · · Score: 2

      Which tools are these that don't either rely on pipes, sockets on daemons or aren't simply pipes, sockets or daemons called something else?

      --
      I gots ta ding a ding dang my dang a long ling long
  2. Written by IBM? by FortKnox · · Score: 2, Redundant

    Tests written by IBM (who just put more investment in Linux) shows that Linux is best?

    Are they a little biased?

    I'd prefer a neutral party to do the test and the results placed on a neutral site, personally...

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Written by IBM? by iceT · · Score: 2, Offtopic

      IBM's interest in LINUX is primarily on the S/390 platform, not an INTEL platform. Windows 2k/XP isn't available on the primary platform that IBM is touting LINUX for...

      IBM has every bit as much to gain or lose as any other PC/Server manufacturer does in an 386 platform.

      --
      -- You can't idiot-proof anything, because they're always coming out with better idiots.
    2. Re:Written by IBM? by ChadAmberg · · Score: 2, Insightful

      Lets see... IBM supports Linux... but guess what? They make a hell of a lot more money selling Windows systems. Both Desktop and Server. And look at IBM services? They're just going to suddenly roll over and say we don't support Windows anymore?

      Sheesh people. IBM is way too big. This guy writing the article has nothing to do with marketing, he's a programmer or in R&D. Sure he's a Linux advocate. But something this minor doesn't make it in the conspiracy business...

    3. Re:Written by IBM? by strobert · · Score: 2

      I'm a big linux fan, so I guess you could claim I'm biased, but at the time we did the tests 95% of my development was on windows, so...

      back before 2k, we did tests on loopback device performance on win95 and winNT. win95 was really bad, NT wasn't great. we ended up writing our own support using shared memory on windows to get the speed we needed. IIRC linux on a 486 beat win95 on a P-233 and I think it was on par with winNT on a PPro-200. The code to do this was in C++ and we abstaracted it behind a generic interface and on linux we used the straight OS support since it was plenty fast.

    4. Re:Written by IBM? by johnnyb · · Score: 4, Insightful

      The nice thing about the tests is that all of the information about the tests are published, as well as the scope of what the test means (it has a very small scope of applicability). So, it's easy for anyone to reproduce the tests, and mention any problems with the tests.

  3. Pipes? Phbbt. by gosand · · Score: 5, Funny
    What good are pipes anyway? Unless there is a GUI attached to them, they are worthless, right?

    Ask your local MCSE, they'll tell you.

    ROFL.

    --

    My beliefs do not require that you agree with them.

    1. Re:Pipes? Phbbt. by Hertog · · Score: 5, Funny

      Any good MCSE will tell you that the windows-logo screensaver is much nicer then the pipes-screensaver..

      Gr.

      Hertog

      --
      -=- I heard rumours about an OS called "Social Life", heard of it? Is it stable? -=-
  4. Loved the "Bug or Feature" part.. by cOdEgUru · · Score: 3, Funny

    From the article..

    Another distinction might the the "feature" of Windows pipes where there is no fixed buffer size. For the first test we stopped at a 4K buffer size in deference to the Linux buffer. Windows advocates might suggest that the arbitrary buffer sizes associated with Windows named pipes are a benefit. To demonstrate the arbitrary size of the Windows named pipe buffers, we can simply run the single threaded program with arbitrarily large block sizes. I did a run with pipespeed2.cpp on Windows and specified a 256 MB buffer size. Windows obliged by swelling the buffer size to hold 256 MB of data before the ReadFile() was issued. The system slowed to a crawl and I didn't wait until the operation completed. Whether this "feature" of Windows is useful or not is up to the public.

    Well, i am sure it started out as a feature..

    1. Re:Loved the "Bug or Feature" part.. by Score+Whore · · Score: 2

      The moderation on the parent shows the breakdown in the moderation system. "Funny"? Perhaps. But not interesting at all.

      I unix admin for a living, I hold no special love for Windows. But for fucks sake... does demonstrating that an OS allows a developer to be a fucking cretin highlight a failure in the OS or a failure in the developer?

    2. Re:Loved the "Bug or Feature" part.. by AME · · Score: 2
      I heard Linux has this "feature" called malloc. I tried to malloc 10GB and the system slowed to a crawl.



      I doubt it. malloc(10737418240) should return null pretty quickly unless you have 10GB of virtual memory available.



      Even if it did give you a 10GB buffer and even if most of it was in swap, I doubt it would slow the system down much, but your program's buffer accesses might be a tad pokey.

      --
      "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
    3. Re:Loved the "Bug or Feature" part.. by darkonc · · Score: 2
      I did a run with pipespeed2.cpp on Windows and specified a 256 MB buffer size. Windows obliged by swelling the buffer size to hold 256 MB of data before the ReadFile() was issued.

      I think it was a troll... Funny as all get-out, but a troll nontheless. -- and I would have liked to seen the Windows performance at (say) a 64k block size.

      Oh well...

      --
      Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  5. Premature by johnnyb · · Score: 4, Insightful

    This is very premature. This was only testing ONE aspect of Windows vs Linux, which is not even used very much in the Windows world. This is meant to be an overall test of Windows vs Linux in performance, but the article is going to span over several weeks/months. Only after the series is finished will a good comparison be made. To say that Linux rocks just because it's pipes are faster means jack squat. What if Windows sockets are faster? What if Windows Disk IO is faster? What about Windows Asynchronous I/O? Eventually, this article series will answer such questions. However, this article ONLY answered the question of whose pipes are faster. Nothing else should be read into it.

    1. Re:Premature by tmark · · Score: 5, Insightful

      What if Windows sockets are faster? What if Windows Disk IO is faster? What about Windows Asynchronous I/O?

      I would expect that if any benchmarks came out favoring Windows, and if they were reported here, they would be roundly and loudly shot down with 1) criticisms of the testing protocol, and/or 2) criticisms of the bias of the testing agency. Of course, the same criticisms are just as valid in this case, but of course they are here largely ignored (one poster so far excepted).

      All of which just goes to show that the essence of the whole 'Linux-rocks/Windows-sucks' horse that is always being flogged here is that this horse is ultimately flogged by (sometimes blind) faith. Few of the Linux zealots here are going to believe any benchmark/test unless it favors Linux (in which case, they will all praise the study to high heaven) - just look at the lengths people here go to argue that GNOME/KDE provide better-than-mediocre desktops. Similarly, few Windows advocates are going to be convinced that their platform of choice is inferior.

      Since all these articles thus amount to preaching to the converted, I suggest that the Slashdot editing team hereafter mark all such articles of theirs as 'Redundant'.

      Hey, why can't we rate parent Slashdot articles, anyways ??

    2. Re:Premature by jgerman · · Score: 3, Insightful

      Uh the reason so many people will pick apart studies claiming Windows superiority is because heistory has shown us that they are usually untrue. I know Linux is technically superior to Windows I know Linux is more powerful than Windows, I don't need a study to prove it. And as far as Linux desktops being mediocre, that's entirely a matter of opinion. I love my GNOME desktop, I love the fact that it's more powerful, flexible, and customizable than Windows. And I really love the fact that my linux workstation works the way it's supposed to and doesn't constantly crash.

      --
      I'm the big fish in the big pond bitch.
    3. Re:Premature by Score+Whore · · Score: 4, Interesting

      Would you care to elucidate on the power, flexibility, and customizability of your GNOME desktop wrt how it stacks up against Windows in those areas. Also please expand on how linux doesn't constantly crash. You see I find that Windows as a whole is more stable than the components of linux. Just because the webserver in my workstation doesn't go down, it doesn't mean that my work isn't interrupted when my X server/web browser/email client/cd burning software/etc. crashes. So how is it better for me that some parts of the OS are still functional? Particularily parts that are almost entirely fluff for my day to day desktop use? It would probably be wise for the Unix community to stop generalizing its arguments into pointlessness. Instead we should focus on actual strengths that can be shown as real benefits.

    4. Re:Premature by sheldon · · Score: 2

      "Windows superiority is because heistory has shown us that they are usually untrue. "

      *cough* Mindcraft

      What Mindcraft proved was that there were signifigant problems with Linux and it performed horribly compared to Windows.

      Yeah, it was picked apart... but they used the pickings to solve real issues.

    5. Re:Premature by Anthony+Boyd · · Score: 2
      I would expect that if any benchmarks came out favoring Windows, and if they were reported here, they would be roundly and loudly shot down with 1) criticisms of the testing protocol, and/or 2) criticisms of the bias of the testing agency.

      I don't agree, or at least I think you're leaving out a significant point. I think the /. community rails against Microsoft-funded tests, but otherwise takes these tests to heart. Just look at the recent ZDNet testing that showed NT could barf out static Web pages faster than Linux. There were calls of bias, to be sure, but what actually happened was a bunch of Linux users jumped up and re-did the tests, and then a few leaders in the community went to ZDNet to watch the tests being run. And guess what? The tests were right, and rather than poo-poo the results, the developers actively worked to fix the errors. This community is self-correcting. Give us real results that we can reproduce, and we'll take it not as an attack but as a springboard for improvement. Or at least, that's what recent history indicates.

    6. Re:Premature by jgerman · · Score: 2

      *cough* Midcraft was * cough bought and paid for cough * incredibly biased

      --
      I'm the big fish in the big pond bitch.
    7. Re:Premature by DarkEdgeX · · Score: 2

      Hey, what group of morons modded this troll up?

      --
      All I know about Bush is I had a good job when Clinton was president.
    8. Re:Premature by Score+Whore · · Score: 2
      OMFG! That has got to be the epitome of self delusion. Leaving out the total non-argument of 'I can program it myself' (here's a hint buddy: you can write your own window manager, file manager, etc. for windows... if that's what you want to do with your computer.) Let's go ahead and address some of your other points. At least the ones that aren't, again, total non-arguments.

      When was the last time that I had IE crash and take down my entire machine? Um, well, let's see. How about never.

      Four, Linux has more power in that all desktop functionality has its equivalent in the filesystem in a format that makes intergrates the two seamlessly, unlike windows which hides the gui aspects from the user.
      Huh? That doesn't make any sense. Are you trying to avoid having your arguments taken apart by throwing out incoherent sentences?

      Five, my desktop software doesn't store files in a binary proprietary format, which by the way is bloated to ridiculous sizes by copyright lines and privacy invading user id's.

      Exactly what desktop software would that be?

      Six, (this is fun), My spreadsheet can handle more than 65,000 rows.

      Interesting. Do you often run over 65,000 rows? Personally I never have, but then again I prefer to have a high quality graph solution in my spreadsheet, or integration with my word processor and presentation engine. What software do you use for presentations?

      Seven, the majority of Linux distributions come pre configured for invaluable tools like ssh, traceroute, and tcpdump.

      ssh is useful. But traceroute and tcpdump are not. At least not to the vast majority (and by vast I mean something on the order of 99.99999% of computer users.) You know what my windows install came with:
      • Accessability features for people who have physical handicaps.
      • High quality multimedia players (you know, ones with basic features like synchronized audio and video)
      • A fully featured web browser.
      • Well hinted fonts (with ubiquitous anti-aliasing.)
      • A good, robust, easy to use file manager with a rather interesting array of options in the detail view.


      OK. I'll stop waving the quality flag in your face.

      Nine, The whole concept of a GUI is fluff to your day to day desktop use, you can get everything done with just a command prompt... faster.

      Perhaps a GUI is irrelevant for your day to day use... but you're in a minority there.

      Ten, I can create a professionally typset document in less time than you, without removing my hands from the keyboard. Cavemen pointed at things and grunted, it's no suprise that that's the only way that Windows users can interact with their machines.

      Can you? That'd be interesting. Add a graph to that "professionally typset document". Now include some color photos. Bring me the output color corrected. All without removing your hands from the keyboard. Oh wait! You must have one of those toe-mice doodads... That's how you do things without removing your hands from your keyboard. Or you just don't do anything overly complex.

      Eleven, I have complete control over my OS. In the extremely unlikely event that my software decides to send personal information back to the makers I can turn it off and continue to use the product. You have absolutely no control.

      Do you? Really? I run linux, solaris, freebsd, win2k, and I have total control over none of them. You must be some kind of programming god. Do you select which processes to kill when you run out of swap space? Step in and perform deadlock avoidance? Handle processor affinity? Deal with your memory management issues? I don't. Fuck I don't even want to. Could I if I had to? Sure, but ... why? I've got better things to do with my time.

      I could go on forever, but like I said, space limitations. It's ridiculous for a Windows user to argue the technical superiority of windows over Linux. As of right now my work desktop Linux box has been up for over 203 days. Which coincidentally is the last time I upgraded the kernel. How long has your Windows machine been up?

      Oddly enough my work Windows box has been up longer than my work Linux box. But also oddly enough, I figure that it makes more sense for me to save my employer some money and I turn my boxes off if I expect to be away for an extended period of time. But neither box has a tendancy to fall over randomly.

      Exactly what is the point of having a workstation stay up for 203 days? Honestly I don't see the point of it. My Win2K box has crashed two times in the last year. My linux box has crashed four times and it's obvious that most of the software and drivers is beta or pre-beta.

      I didn't even have to go into the whole spectrum of tools that are available for *nix that are unheard of on Windows.

      OMFG! You have got to be kidding.

      Oh wait. Why did I just write all that. Didn't I ask you about:

      " Would you care to elucidate on the power, flexibility, and customizability of your GNOME desktop wrt how it stacks up against Windows in those areas. "

      Pull your head out and show the group how your desktop is more powerful, flexable and customizable than Windows. Without resorting to the "I can reprogram it" non-argument. Fuck, that's like saying "my honda civic is more powerful, versatile and usable" than a HUMV, because I can recast, rebuild and retune the entire fucking thing.
    9. Re:Premature by Malcontent · · Score: 2

      All I know is that when I upgraded my IE to 5.5 it killed the scheduler in NT4.0 server. All the AT jobs silently failed leaving no trace of their failure in the event log or anyplace else. For a couple of weeks none of the routine jobs that I took for granted ran causing all kinds of troubles. I found a fix on some NT board and it involved rebooting the server.

      Any OS which disables a crucial service like scheduler when you upgrade a browser is crap. I can't believe that my company bets their business on a platform like this. On the desktops upgrading to IE5.5 rendered a significant number of office97 apps completely useless and we had to go from desktop to desktop undoing the damage that did (who wants to talk about TCO?).

      So yes maybe it great that you can embed your shiny graph in your spreadsheet in the meanwhile the corporate server hasn't been running a backup in weeks.

      To me this fiasco more then anything numda every did (and it did plenty all around the world) illustrates just exactly what kind of a heap of crap MS operating systems are.

      Go ahead and justify how installing a browser should break the server that your company is depending on, the desktop apps your employees are depending on, and require rebooting of hundreds of machines.

      I am sure for a MS cult member all of these are perfectly justifiable and reasonable side effects of upgrading a browser, just as having biweekly patches to your OS (and rebooting it), your webserver, and your browser are considered a lower TCO but to us in the real world who have this crap shoved down our throats it's no picnic.

      The only saving grace is that when I explain to my boss that upgrading IE broke his server he just shrugs and doesn't blame me for it. He understands that MS makes crappy products all too well by now and he certainly knows what the consequences of not upgrading every two weeks and rebooting are too.

      --

      War is necrophilia.

    10. Re:Premature by sheldon · · Score: 2

      Yes, but then the mindcraft results were verified by other third parties.

    11. Re:Premature by johnnyb · · Score: 2

      The person who posted the article said it.

  6. pipes for IPC on windows? by kangasloth · · Score: 5, Insightful

    Who you kidding? I'm no windows developer, but even I know you don't use pipes for IPC in windows, it's all COM. COM on windows versus CORBA or DCOP might be interesting.

    1. Re:pipes for IPC on windows? by maeglin · · Score: 3, Interesting

      Who you kidding? I'm no windows developer, but even I know you don't use pipes for IPC in windows, it's all COM. COM on windows versus CORBA or DCOP might be interesting.

      While I agree with most people that it's a rather silly comparison, pipes aren't quite as dead as people think. Many "enterprise" systems still use pipes on windows. Database systems in particular...

      I'm not a conspiracy kind of guy, but you could almost argue that Windows pipes are being slowed on purpose. I doubt SQL Server uses them (espescially if they're degrading this quickly) but many of MS's competitors still do (Including IBM's DB2).

    2. Re:pipes for IPC on windows? by pi_rules · · Score: 3, Interesting

      COM and CORBA are probably 10 or so levels higher up as far as abstraction goes over pipes. Pipes are down and dirty C style IPC mechanisms, COM and CORBA most likely utilize them (or IP sockets) to actually get the job done.

      People use COM not understanding the performance hit they're getting. Sure, it's the "Right" way to do it by MS standards these days but why diddle with it when all you really need is a few functions to wrap up some pipe() calls to get your two components speaking?

    3. Re:pipes for IPC on windows? by Old+Wolf · · Score: 3, Interesting

      But then you have to design protocols and worry about blocking and aborting and so on. The good thing with COM is that they all speak the same language, and you can even find out everything you want to know about what the other end supports at runtime

    4. Re:pipes for IPC on windows? by WasterDave · · Score: 3, Insightful

      Yes and no. Sure, I never used pipes on windows but I did use the message passing mechanism some times. Interestingly enough this is the low level mechanism used by COM to do interprocess comms.

      That would have been a better test.

      BTW, The source code examples in the article did a great job of reminding me why I hate coding for windows :)

      Dave

      --
      I write a blog now, you should be afraid.
    5. Re:pipes for IPC on windows? by partingshot · · Score: 2, Informative

      > How do you think that COM actually
      > communicates ?

      One module loads another module and gets
      the offset to the vtable. The COM designers
      designed a binary standard that (not coincidentally)
      mimics the layout of the c++ vtable.
      So. COM uses function pointers to communicate.
      And that's a helluva lot faster than any network
      operation.

      --
      Anonymous posts are filtered.
    6. Re:pipes for IPC on windows? by YoJ · · Score: 2
      I don't think it is silly to compare the speed of pipes on Windows and Linux. Yes, it's not a professionally done scientific study. It's a programmer sitting down with a stopwatch and seeing how fast a simple program runs. This is useful to someone who wants to decide how to use pipes in Windows.


      For example, Mathematica is a cross-platform application that is broken into two pieces: the kernel and the frontend. The kernel is responsible for all mathematical operations and computations, and the frontend is the GUI interface. These parts run as separate processes, to allow editing of Mathematica files without the overhead of starting the kernel, and also to allow the kernel to crash without taking all your work with it. The kernel and frontend can also run on separate machines.


      So how do the two parts of Mathematica communicate? Wolfram could make some sort of COM or CORBA interface, but this would be a lot of extra work specific to one platform. If they use pipes, then it will work on every major platform. Unix has pipes, Windows has pipes, OS X has pipes. Pipes are a good choice for IPC since they are cross-platform. This study shows the developer what to expect from Windows pipes vs. Linux pipes. The conclusion is that Linux is amazingly fast at IPC, and the various Windows are fast enough for most purposes.

  7. And yet it still sells... by MosesJones · · Score: 4, Insightful

    You'd almost think that a half-decent GUI and a huge set of tools were the most important things rather than inter-process communication.

    Amazing. Stunningly the IBM OS/390 wipes the floor with all of these entries. Great desktop machine. Linux is a good OS, its not the best, it doesn't beat Solaris for reliability, it doesn't beat Windows for usability, and it doesn't come near the Mainframe architectures for speed. But it does have its place, but petty things like this are surely pointless. If a HCI group found that Linux was _easier_ to use, then that would be something to applaud but in the days of Gigabit networks and massive processor speeds and huge RAM these sorts of performance things are less important than ever.

    The key to success is ease of use, ease of deployment, Linux is getting there, but having fast pipes won't progress it.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:And yet it still sells... by johnnyb · · Score: 3, Insightful

      Inter-process communication is an extremely important factor. Specifically, if your application uses a lot of it.

      It's not the only thing, but it is pretty major.

      If there's a bottleneck, that means poor scaling of applications to larger loads.

      There's a lot that's not in the article, and the article itself says so. There's no information on sockets, RPC, or other means of IPC. That is all coming in future articles. However, it is silly to say that IPC speeds are not worthwhile.

    2. Re:And yet it still sells... by geekoid · · Score: 2

      having used Linux and WIndows for years, can assure the recent Suse distro is at least as easy to use as Windows. Linux is ready for the desktop, and so is KDE2.

      2 points 1)this was the first Suse distro I have ever tried, and I'm not into any type if Distro wars.
      2)I have used both Gnome and kde, until KDE2 I found gnome to be my preference, but KDE is really easy to use. My wife figured out how to get to all the 'desktop user' stuff(spreadsheet, browser etc...) w/o any help. My wife only other computer experience consists of Windows, and the Apple ][ c.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re:And yet it still sells... by SilentChris · · Score: 2
      "having used Linux and WIndows for years, can assure the recent Suse distro is at least as easy to use as Windows."

      You just shot down your own statement. Of course an operating system is "at least as easy to use as Windows" if you've been using it for years. Heck, I thought the menu screen on the TI-99/4A was just dandy.

      I think from a "this metaphor works" standpoint, Mac OS got it right the first try (too bad the underlying code sucks -- we'll see with OS X slowly gaining popularity). Windows 95 was pretty revolutionary on a few fronts. XP is bar none the easiest Windows system to use, with the task panes on the folders saying "here you can delete, here you can write to this CD". I showed that to my mom and she instantly understood it (even though, like most of America, she still doesn't know what a "shortcut" in the Start Menu means).

      On the *NIX side, I find KDE to be my desktop of choice. But I've noticed something -- I think I like it because it's so close to Windows. You tend to like OS's you work with often enough, once you learn the underlying tricks (that's one of the reasons I installed POSIX utilities for the command line in Windows 2000/XP). :)

    4. Re:And yet it still sells... by jgerman · · Score: 5, Insightful

      , but petty things like this are surely pointless. If a HCI group found that Linux was _easier_ to use, then that would be something to applaud but in the days of Gigabit networks and massive processor speeds and huge RAM these sorts of performance things are less important than ever.


      Thus spake the virgin programmer. That bullshit about hardware invalidating the need for fast efficient code, is the bullshit rhetoric taught in college classes that brought us the blue screen of death in the first place. Speed and performance do matter as does not hogging memory and efficiency. You will always run into limits on what a machine can do, and in the case of business, writing code that allows 5 servers to do the work of ten at helf the bandwidth is a big deal.


      The key to success has already been gained by Linux, it is used by the people who matter (not matter as in personal worth but matter as in matter to the advancement of computing). I couldn't give two shits about Joe Schmoe who wants to check his email and surf for porn, let him use Windows, it's not necessary for everyone to use the same operating system. Use the right tool for the job, and for developement *nix is the best tool.

      --
      I'm the big fish in the big pond bitch.
    5. Re:And yet it still sells... by jgerman · · Score: 2

      Yeah I gripe about that too, but only because I'm most used to the Berkeley (for the most part) syntax of Linux, had I grown up using AT&T I'd probably like that better. But I'd still prefer a Unix over a Windows any day.

      --
      I'm the big fish in the big pond bitch.
    6. Re:And yet it still sells... by tshak · · Score: 2

      Actually, I think he's talking about the fact that even if Windows was slower, if it was more usable it wouldn't matter. It's the whole "human centered computing" vs. "machine centered computing". The prior doesn't assume inefficient code, just more work for the machine to make the humans life easier (in theory).

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    7. Re:And yet it still sells... by harvardian · · Score: 2

      I think it's kind of funny how this post got modded to a 5 seeing as the second half is pure belligerence.

      My first point in response to this is to say that I have no idea where you went to school. I'm a CS student right now, and I know a lot of CS students around the country. Never once have I ever heard of ANYTHING taught except for "Elegance, elegance, elegance." I have yet to have a professor say to me "as long as it works it's fine." More like "hey, I'll give you extra credit if you can use a different algorithm that reduces computation time to n^3 instead of n^6."

      My second point is this: you say bullshit rhetoric in college classes led to the BSOD. On the wall in Maxwell Dworkin (our CS building) is pinned a program that Bill Gates wrote when he went to school here. I can assure you that the reason _he_ wrote BSODs was because he went to school in a day when there WAS NO elegant programming language. Now we have the benefit of object orientation and a large body of theory. The kind of programming they taught Bill Gates must be completely different than the computer science they teach us now. The reason the person you're responding to is saying that hardware nullifies the need for elegant programming is because they're probably an MSFT drone. Anybody who takes a modern computational theory class at any major university would never say something like that unless they slept through the class.

      The second point I have to make regards your belligerent comments about how "elite people" use Linux. Look, I don't doubt that Linux is a more powerful operating system. Your logic is completely flawed, however. Beta was "better" than VHS, but VHS won out because it won the mass market. Unfortunately for you, MASS MARKET has more sway than the elites ever will. That's the sad fact.

    8. Re:And yet it still sells... by Paul+Komarek · · Score: 2

      Sharing a computer between multiple users simultanesouly doesn't work well when every program pretends it's God's gift to the computer. This is one reason that linux has some great cost/benefit (shouldn't that be benefit/cost?) ratios over many Windows installations -- it assumes a multiuser, shared environment, in which it is impolite to be inefficient.

      -Paul Komarek

    9. Re:And yet it still sells... by aardvarkjoe · · Score: 3, Insightful
      From what I've seen, you're half right -- CS professors would never say "just make it work." But they wouldn't want you to strive for elegance, either. The job of CS professors is to churn out immeasurable numbers of the mindless Java programmers that the industry wants, solely so that the school can claim "Look! 94% of our graduates got a job!" and lure in more future drones. (Of course, this is only bad if you believe that the job of a university is to educate rather than simply sell off all its students. If you think the latter, then go ahead and skip the rest of this post/moderate accordingly.)


      Object-oriented programming and other "silver bullets" have been around for awhile. Bill Gates, while he may not be a legendary programmer, isn't the guy who's creating those BSODs now. It's the newer people, straight out of college, whose idea of important algorithms includes bubble sorting and who only have a 50-50 chance of distinguishing a pointer from a coconut. New programming methodologies won't make programs better -- only better educated programmers can do that.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    10. Re:And yet it still sells... by jgerman · · Score: 2
      Hmmm I never mentioned the word elite. Don't read into more than is there. I specifically went out of my way to POINT out that my statement ONLY applied to computers. As for schooling, I find it hard to believe that you've never heard a professor say that memory issues are not important because of the cheapness of RAM or that speed isn't as important since processors are so fast, but I won't call you a liar, you're lucky that you didn't have to sit through that crap. However, elegance is a nebulous term. When I go through code to speed it up the changes are not always pretty, I would call them elegant, but many college professors would not. But the truth is they work and they make for better code.


      You need to check your history, OO has been around for a long time. Elegance is not ties to a language or a method. No laguage is more elegant than another (for the most part), only the idiomatic expression of elegance is different.

      --
      I'm the big fish in the big pond bitch.
    11. Re:And yet it still sells... by crucini · · Score: 2
      That bullshit about hardware invalidating the need for fast efficient code, is the bullshit rhetoric taught in college classes that brought us the blue screen of death in the first place.

      There may be some linkage, but I'd draw a distinction between the bullshit of academia and bullshit of Microsoft. Both can produce slow code, but for different reasons: the academic produces robust, elegant code. It's slow because it's full of error checking and levels of abstraction. Microsoft produces buggy, badly designed code. I remember reading an article describing how a relatively small Microsoft application had been made by pasting code from a larger one, resulting in insane bloat. Someone reverse engineered it and found tons of code in there that was not called by the app.

      There is a tradeoff between safety and speed. An OS with intrinsic guards against BSOD would be slower. It would probably be a microkernel with paranoid checking of inbound messages.

      There will always be a role for fast, efficient code, but for a lot of business programming robustness is more important.

      You make a good point about Linux seizing the strategic position - the people who advance computing. Two counterpoints, though: Microsoft is working hard to inject their OS into academia. Their technique consists of free and discounted stuff in conjunction with the 'elitism' ploy - they try to make people feel like special members of the MS tribe who are allowed exclusive access to source code and inside info. Not all academics are proof against such ploys. Secondly, through laws like SSSCA and crypto restrictions, Linux could become illegal or practically illegal (won't run on newer hardware).

      Microsoft isn't going to just sit there and wait for us to run them over.
    12. Re:And yet it still sells... by crucini · · Score: 2
      Never once have I ever heard of ANYTHING taught except for "Elegance, elegance, elegance."

      That is not the same as optimizing for speed. Professors generally don't want speed at the expense of elegance. For example, recursion is frequently the most elegant approach to a problem. However a simple loop can be faster for some things.
      Beta was "better" than VHS, but VHS won out because it won the mass market. Unfortunately for you, MASS MARKET has more sway than the elites ever will.

      It's not that simple. Computer technology frequently originates with researchers and hackers, and continues to be marked by its origin as it trickles down. The web brought a ton of unixisms to Windows: the '/' directory separator, which is now intermittently supported in various parts of Windows/Office, MIME types, gzip, and of course TCP/IP. Look at it another way. People who work with electricity and electronics use volts, ohms and amperes to measure electricity. This happens to be the same set of units used by electrical engineers. You could devise a different system of units that still fulfills V=IR (call it MSelectricity). If that were popular, I think it would be pushed out gradually by the 'scientific' units, because technology flows from engineers to technicians, not the other way around.

      When I was an audio/video engineer, I spec'd tons of VHS decks for surveillance, playback and other applications. If I had spec'd Beta, it would have been a very hard decision to defend because Beta is nonstandard.

      Now I work with computers, and when we have to implement a new system I push to do it on Linux. And it always is on Linux unless the software just doesn't exist.

      The difference between Windows/Linux and VHS/Beta is that the network effect simply benefited the majority in the VCR instance. In the computer instance, however, the vast majority of Windows PCs offer nothing to the world. Therefore they are a nonfactor. A linux box is more likely to be involved in software development or in serving data over a network.
    13. Re:And yet it still sells... by crucini · · Score: 2

      You make good points about the office formats and the influence of IE. I was so carried away with my point that I overlooked those.

      But pointing out that linux runs 30% of web servers (for some definition of web servers) does not invalidate my point - it shows that a given Linux box is much more likely to be a web server than a given Windows box. Assumption: there are far more Windows boxes than Linux boxes.

      As for BSD vs Linux, the distinction is pretty tiny, isn't it? But whenever I read a current paper by someone researching encryption/tempest/any new scientific thing, to the extent that their platform is mentioned it's almost always Linux. BSD had a greater contribution in the past before Linux matured and gained acceptance. But nowadays, companies like SGI are trying to add cool file systems to Linux. If they did this with BSD, they'd be inviting competitors to simply swallow the code into their proprietary OS's.

  8. Re:Tired by MaxwellStreet · · Score: 2, Insightful

    You know, if you want to come off as being fair and circumspect about these things - and not as a flame or troll - you might want to reconsider that last paragraph.

    Successful business(sic) don't use linux?

    Please - you're as guilty of the bias you're complaining about as the story is.

  9. Deja vu? by JoeShmoe · · Score: 2

    Wasn't there a similar article a couple years ago that shows conclusively that Windows NT 4.0 was faster than Windows 2000 and a wide range of tasks?

    I think Windows NT 4.0 marked Microsoft's pinnacle of acheivement. If it wasn't for the lack of USB support I would have never upgraded. Even for a server role, there are a lot of USB devices that a modern server needs to access (like DSL modems, many newer UPS's, cameras for security, additional serial/parallel devices, etc).

    Why oh why can't someone develop a third party solution? Or does one exist? DirectX and translucency I can do without...but USB is just too useful to do without.

    - JoeShmoe

    --
    -- I wonder which will go down in history as the bigger failure: the War on Drugs or the War on Filesharing
    1. Re:Deja vu? by jpostel · · Score: 2

      The NT4 to Win2k comparisons are very close to the Win2k to WinXP comparisons. The flaw in the logic is that the tests tend to take place with the Beta of the new OS or right after the release has gone gold. Either way, the apps tend to be optimized for the previous release. Once the new optimized versions of apps come out, performance starts to increase. Also, the bugginess of NT4 or Win2k without service packs is pretty well known (but then who uses the x.x.0 release of the linux kernel in production anyway?)

      NT4 is the best OS MS ever made, but Win2k is a good update to NT4. USB support is uber useful: serial and parallel are too slow and scsi and firewire are too expensive.

      --
      Ummm, Jon, aren't you supposed to be dead...? - Otter(3800)
    2. Re:Deja vu? by Matts · · Score: 3

      NT4 is the best OS MS ever made

      Maybe at it's current service pack state, but holy shit did it take them a long time and a lot of service packs to get it into that state! In fact, the original release of NT4 was a bag of shite - constantly rolling over and dying. Not until service pack 3 did it become stable. And then we had service pack 4 - what a joy that was *NOT!*.

      --

      Matt. Want XML + Apache + Stylesheets? Get AxKit.
    3. Re:Deja vu? by JoeShmoe · · Score: 2

      Oh, true, I should have qualified that. NT4:SP3 is what I install standard from my installation source. I very rarely even bother to apply SP6 (7 now?) because I don't need Access Y2K bugfixes and I refuse to touch NTFS 5.0 with a ten foot pole at the end of another ten foot pole.

      I made the mistake of copying some data to a NTFS 5.0 drive, got an error message, rebooted and found my $volume had become corrupt. Microsoft's attitude was "Shit Happens, restore from backup". That's all fine well and good, if the hard drive had physically died I would have accepted the data loss...but Microsoft's whole attitude is that it's more important to have new features than reliability. Backups should never been my first line of defense. The OS should have the smarts to recover SOME portion of the data. Given that OnTrack EasyRecovery wasn't able to find anything, I had to lose the data...but I swore I would never again touch NTFS 5.

      - JoeShmoe

      --
      -- I wonder which will go down in history as the bigger failure: the War on Drugs or the War on Filesharing
  10. In other news... by szcx · · Score: 3, Funny

    Dell announces that Windows XP outperforms Linux. Slashdot denounces study as biased.

    1. Re:In other news... by szcx · · Score: 2
      You don't think IBM would rather sell an OS where they don't have to kick any money back to Microsoft? You don't think they're investing a billion dollars into Linux development because they're "just like us" and believe in "the cause", do you?

      They're looking for any way they can cut Microsoft out of the picture, the same reason Oracle is investing so heavily in Linux. If IBM sell a server with a free OS, that's a few extra dollars they get to keep instead of sending to Microsoft.

      Think about it.

    2. Re:In other news... by mikera · · Score: 2

      IBM probably don't actually care much about the OS - they're much more interested in the cross-platform application servers like WebSphere, DB2 and such which is where the money is. They sell these for Windows, Linux, Solaris, whatever.

      They mainly want to make sure Microsoft can't extend it's monopoly into these areas as well. That means establishing Linux as a credible alternative and commoditising the OS space, while building additional services around it.

      Pretty sound strategy for them, Linux fans had better hope it works because right now it's the main chance Linux has ofd displacing Microsoft to any significant degree.

  11. This should come as no surprise by sting3r · · Score: 5, Interesting
    Windows pipes are much lower on the evolutionary ladder than Linux IPC mechanisms. Consider:

    • Windows pipes cannot exist in arbitrary places on the filesystem. Therefore service hijackings are easy if you can DOS the existing service into dying. On Linux, an ordinary user can't create /dev/log or /dev/printer (even if they kill syslogd/lpd), but on Windows anyone can name a pipe whatever they want (as long as it doesn't already exist).
    • Windows pipes have no access control. Hmm, didn't SANS just report on the sorry state of Windows security?
    • Windows pipes do not support ancillary data or OOB data. This makes them limited communication facilities.
    • Linux pipes use copy-on-write instead of straight out copying. Therefore the paging mechanisms enhance speed because the data is simply remapped, not manually copied.
    • Linux provides a much richer set of IPC mechanisms, such as semaphores, shm, messages, as well as the socket based facilities.
    • Linux pipes are much easier to write for. Win32 pipes are difficult to use in a C program and subtle programming errors can cause many problems in unrelated modules.

    As is often the case, Microsoft just threw something together and called it "infrastructure." Linux developers drew on 25 years of UNIX evolution and experience, and made a better product as a result.

    -sting3r

    1. Re:This should come as no surprise by Zen+Mastuh · · Score: 2
      Linux developers drew on 25 years of UNIX evolution and experience

      So true, so true. My experience with kernel-level *n?x programming (no MS kernel experience, call me biased...) has instilled great respect for their reliance on developing from a clean, tight model. Because an entity can only be a file or a process, access control is intrinsic, never an afterthought.

      A good analogy is the difference between the DoD TCP/IP and OSI networking layer models. The TCP/IP model was developed to accomodate an application; OSI applications are developed to fit the model. Like POSIX, the OSI model ensures clean separation between layers in applications. POSIX, etc. dictates a true multiuser multimachine system, whereas Windows (pre-2K) is a kludge built to extend DOS--a single user, single machine O/S that was actually good for its time (early 1980's).

      A valid point against the strictly layered models is the potential performance penalty from inter-layer communication. I think it's a small price to pay in this age, where the potential cost of vulnerabilities is exorbitant.

      --
      "What is the sound of one belly slapping?"
    2. Re:This should come as no surprise by Anonymous Coward · · Score: 2, Insightful

      First of all IPC isn't as important in Windows because Windows developers drew on many years of experience of other OS developers and wrote it to support threads from the start. Yes we still need IPC but we can also choose to have code run in the same process and avoid a lot of overhead.

      Second, pipes aren't the prefered IPC mechanism in Windows like i'm guessing they are in Linux. So you're only complaing that Windows doesn't work like Linux.

      Pipes do have access control. And it's a lot more flexible than three sets of RWX flags.

      Windows also provides semaphores, shm, messages, as well as the socket based facilities for IPC.

      OOB may be provided by sockets. Not sure here.

    3. Re:This should come as no surprise by gorilla · · Score: 2

      As someone who used the OS's that were around at the time, I can tell you that DOS was not 'actually good for its time'.

    4. Re:This should come as no surprise by Anonymous Coward · · Score: 3, Insightful
      A few points of order:

      Windows pipes aren't in the filing system, they are in the kernel namespace - which is to all intents and purposes equivalent to /dev.

      Windows kernel objects all have full access control, including pipes.

      Windows provides all those IPC mechanisms you mention, and more, including IO Completion Ports which are VERY fast [a friend just implemented a 160us turnaround on a raw socket under WinNT in user space using IO Completion Ports].

      Windows pipes are files just like Linux pipes, so they are not at all harder to program. In fact, with variable buffer sizes they can be a lot easier to manage.

    5. Re:This should come as no surprise by mimbleton · · Score: 2, Interesting

      What do you want me to apologize for?

      1. Writing debuggers is NOT what 99.99% developers do when programming for Windows.

      2. I never said nobody uses pipes on Windows. I said , compared to other IPC mechanism, pipes are not what one would call "popular technique".

    6. Re:This should come as no surprise by TummyX · · Score: 5, Informative


      Windows pipes have no access control. Hmm, didn't SANS just report on the sorry state of Windows security?


      It does so. You pass the SECURITY_ATTRIBUTES to CreatePipe or CreateNamedPipe.


      Linux provides a much richer set of IPC mechanisms, such as semaphores, shm, messages, as well as the socket based facilities.


      Duh. So does Windows and every other real OS.
      Windows provides much more (like completion ports, events, mutexes etc). Also, it is MUCH easier to use them from Windows than linux. sem_init, pthread_create etc are complex to use compared to CreateSemaphore, CreateThread etc.

      And threads, semaphores, mutexes, events, processes etc in windows are all waitable. You use the SAME functions to wait on one or more of them. In linux you have to use pthread_wait, wait(), sem_wait() etc...all different functions for different types (what's worse is some certain object types don't have certain wait functions). In windows, you just use WaitForObject() or WaitForMultipleObjects() on EVERY type of handle.


      Linux pipes are much easier to write for. Win32 pipes are difficult to use in a C program and subtle programming errors can cause many problems in unrelated modules.


      Um. Like how? Why are Win32 pipes difficult to use in a C program? Huh? You just made that up didn't you?


      subtle programming errors can cause many problems in unrelated modules.


      Like? Give me an example. What do you mean by "unrelated modules" and "subtile programming errors"? What kind of crap is that? Why don't you just say: "The sky is blue therefore microsoft sucks".

      How is this hard?

      // create a pipe with 1K buffer
      CreateThread(&read, &write, NULL, 1024);
      WriteFile(write, buffer, 1024, &d, 0);

  12. Security? by Domini · · Score: 2

    Do the tests include micro-grained security?

    Pipes are only useful for outdated programming techniques. Sure, there are prob. design patterns for it, but no large system would base it's communication on it.

    Pipe's moto: The world's a File.
    -sigh-

  13. Remember who's doing this by Illserve · · Score: 2

    IBM has alot to gain by proving Linux superiority. If this were Microsoft's test and they showed the opposite, I'm sure that the /. community would immediately write it off as a rigged test.

    Although in this case, it does like like they at least tried to find a regime in which Windows would do better, which is admirable, but there's still room for skepticism.

  14. Re:Windows has pipes? by DMilor · · Score: 2, Insightful

    Since when is a shell (decent or otherwise) required to use pipes?

    Pipes are for communicating between various process *including* those launched from a GUI.

    Granted the Windows shell is cack - but then the GUI is so good who needs any more than a basic shell?

  15. Maturity of the pipe APIs? by jeffy124 · · Score: 2

    Windows XP may have fared poorly because it's brand new and so is it's API. On the other hand, Linux and Win2K have had a few years in which their APIs have matured/improved and some of their kinks or other bottlenecks straightened out. Point being that the XP API may still have those kinks in their code, causing some slowness compared to other systems.

    Of course, MS could be simply re-using the 2K API in XP, something they should REALLY take a second look at doing given these results.

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
  16. Hardware manufacturers want slow software. by Futurepower(tm) · · Score: 4, Insightful


    "... the poor performance of Windows XP was a surprise. Windows 2000 actually did better than XP!"

    This has been happening since the days of the VAX minicomputers, and probably before. Hardware manufacturers want slow, poor performing software, because that makes users buy more hardware. Most of Microsoft's sales are to hardware manufacturers, not to users.


    Secrecy destroys democracy: What should be the Response to Violence?

    --
    Bush's education improvements were
  17. Of course it's a trustworth report... by szcx · · Score: 3, Insightful

    It's not like IBM has anything to gain from publishing a comparison of this kind.

  18. Not good Windows Code by cppgodjavademigod · · Score: 4, Informative

    Let me first say I love Linux. I have 2 Linux boxes and 2 Windows boxes here. I use Linux every day.

    But the Windows code does not use completion ports to do the I/O. If you want the best performance of Windows I/O, completion ports are the way to go. I'm Windows would do much better if the code was optimized for Windows.

    I have writen high speed data I/O applications for Win2K and it performed as well or better than the *nix boxes, when completion ports were used.

    1. Re:Not good Windows Code by barneyfoo · · Score: 2

      You are an idiot, and idiots are mostly wrong. All of the functionality you mentioned uses windows pipes in an abstracted way. So you suggest using them (win32 specific apis) when in fact they will be worse. Completion ports a red herring. Linux has these too, and they are not a 1:1 correlation with pipes functionality. Apples and Oranges indeed.

  19. XP better than 2000 by aralin · · Score: 2
    Its no wonder that XP is performance-wise worse than anything before. Performance in today's world largely deppends on memory and thus OS who does not clutter the memory too much is usually faster in result. But..

    Now that MS has monopoly, they just "improve" their OS by adding all this fancy stuff and trying to hold the monopoly. Once they will lose it, there will be plenty of space (that they help to create now, but crippling their products) to improve their performance.

    --
    If programs would be read like poetry, most programmers would be Vogons.
  20. This is good news for techies, but... by garoush · · Score: 2

    ..will it ever register on the consumers radar? How about applications in use?

    For consumers: we all know that MHz is not all that you should be looking for and yet if you ask any consumer about a PC, their mouth and eye will open wide once they hear about a faster MHz.

    For applications: well, how many applications use pipe? Even those that do use them, what % of the time do they spend in pipes?

    So, yes, this is good news for techies, but that is about it.

    And yes, I may sound like flamebeat -- but, its is time to see the bigger picture for what Linux needs to bring it to the main stream. Mr. Torvalds already recognized this some time ago. This is why he is now focusing on stuff that consumers react to, such as UI.

    --

    Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
  21. Articles this guy writes are trite... by maroberts · · Score: 3, Insightful

    If you've read the the other article(s) (how long it takes to perform a memcpy) in this series, it seems he is trying to desparately find holes where he can say "Linux is better".

    For the record I have 4 PCs, 1 of which runs Linux permanently, the other 3 being dual boot. Desipite being in favour of Linux, these articles give benchmarking a bad name. Most rounded benchmarks show Linux about equal (with some pluses and minuses) to Windows performance, which for me is good enough, since given you can have Linux for free, why pay for an OS that is only just as good ?

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:Articles this guy writes are trite... by johnnyb · · Score: 3, Insightful

      No, they are stepping stones. He himself says that he hasn't written anything of use yet, but that he is building the foundation for it.

      Each article goes into depth over a single API call, and compares the systems.

      When he gets through about 10-15 articles, he will probably have something useful. Especially since he carefully explains his methodology and reasoning behind each step. This is much better than the traditional benchmarks which do 1 mammoth test and say X is better than Y. In this article series, he's going down and testing, in depth, feature by feature.

    2. Re:Articles this guy writes are trite... by nathanh · · Score: 2
      If you've read the the other article(s) (how long it takes to perform a memcpy) in this series, it seems he is trying to desparately find holes where he can say "Linux is better".

      I strongly disagree. I think the author is making a concerted and honest effort to appraise a specific piece of OS functionality. He meticulously details his methodology, his results, and his conclusions. He's doing this in a well-rounded and repeatable fashion. He doesn't make any grand-standing claims about the relative merits of the respective OSs based on what he finds: he just states the facts regarding the specific OS functionality he investigated.

      This strikes me as being a very useful thing to do. After he's done a whole bunch of OS calls I expect to find that Windows is superior for some, Linux for some others, and equal for the remainder. But after he has finished there will be a methodology to go back with and RECHECK the latest releases of Windows against the latest releases of Linux.

      You bitching about his results is not constructive and helps noone. If you find flaws in his methodology then you will have done something useful. But I daresay that if you do find flaws then Dr Bradford will revise and rerun his experiments.

      I look forward to reading more articles of this sort from Dr Bradford.

  22. Re:My Experience with the Linux Operational System by MindStalker · · Score: 3, Insightful

    Ok, I don't know why you bothered posting this, probably pointless flamage you post freqently, but I just thought I'd comment. First of all your VB experience doesn't mean anything in linux, I'm pretty sure there isn't a linux compiler for VB. Second of all you said you configured the system from scratch, and recompiled all the programs in what you believed to be a better compiler. Sounds to me like you built everything yourself, then blamed someone else when it didn't all work perfectly. Personally I have never (never meaning sometime after linux became well known, of course in the early days in had to be done by scratch) heard of anyone who first introduced themselves to linux without the help of a basic distribution. So either your a lier, or an idiot.
    Posting +1 cause I have karma to burn!!

  23. Of course Win2k did better than XP by WildBeast · · Score: 2, Insightful

    They compared the Win2k Advanced Server version to the WinXP Desktop version. As we all know, IBM isn't biased at all :)

    1. Re:Of course Win2k did better than XP by barneyfoo · · Score: 2

      Win2k advanced server is the same as Win2k professional with about 8 registry changes and access to some services. Oh, and a different splash screen. Your argument isn't very well grounded.

    2. Re:Of course Win2k did better than XP by barneyfoo · · Score: 2

      I think what I said was common sense enough that the onus is on you to show evidence of the opposite. What you asked is like asking someone to prove the great wall of china exists and isn't staged. I mean sure, I could run off a bunch of shit, link you to some photos, but that wouldn't sway ignorant disbeleivers. So put out. why ISNT it just win2kpro with extra software added on, and some features enabled in the kernel/os that are unavailable in win2kpro?

  24. AIX by kireK · · Score: 2, Funny

    So why didn;t IBM show the specs for AIX as well? Did AIX do even worse than XP?

  25. Pipe speeds by jd · · Score: 5, Insightful
    The relevence of this comparison escapes me, for the moment. Hey, I'm no Windows fan, but most benchtests for ANY one parameter invariably produce a wildly misleading result.


    Some things to ponder:

    • How fast are Linux pipes, if you patch the kernel with LSM? MOSIX? A different scheduler? (eg: RTSCHED, RT-Linux, RTHAL, HP's Scheduler Plugin Architecture?)
    • How long can a given OS sustain a given data rate, under different conditions? (eg: Many processes running, non-interruptable events, miltiple processors, etc.)
    • What kind of resources are consumed, per pipe, per unit of data, per unit time? Do any of the OS' allow/use smoothing, to reduce system load?
    • What results do you get for architectures at the extreme ends of each OS? (ie: Compare ALL the OS' on the minimum suggested and maximum usable settings for Linux, Windows XP, Windows 2000. See if there is a range in which one OS has the advantage, rather than assuming that if it has the advantage at one point, it must have the advantage always.)


    This is not to diss IBM, or even to suggest Windows XP/2000 would even win in such a battle, although I suspect they would for massive SMP arrays, simply because Linux doesn't handle those as well.


    I also suspect Linux would find itself struggling, when put into a hard real-time setting, an ultra-secure setting, or a distributed setting. The overheads involved would not be huge, but if you have a huge number of processes, each with the maximum number of open pipes, the overheads are being applied a huge number of times. That adds up.


    All in all, this suggests that some really severe, rigorous benchmarking needs to be done, under a wide enough variety of conditions to be meaningful. This test just doesn't meet the kinds of conditions I'd expect from a truly determined test.


    Now, if I can only convince IBM to loan me a few dozen boxes, I'd be more than happy to do the testing for them... :)

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Pipe speeds by darkonc · · Score: 2
      I also suspect Linux would find itself struggling, when put into a hard real-time setting, an ultra-secure setting, or a distributed setting.

      Linux might struggle when put in an ultra-secure setting. Windows, on the other hand, wouldn't make it past the background check.

      --
      Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  26. The Source Code by friday2k · · Score: 2

    Well, first I wonder why the author would do something like

    x = mult*nbytes + 24;
    when he sets mult=1
    but this only explains for one wasted instruction. On the other handside I would take a close look at the Windows ReadFile and WriteFile functions. These, IMHO, could very well account for the poor performance the author is seeing. There are too many variables mixed into his test program to tell whether this is only the named pipes performing bad ...

    1. Re:The Source Code by barneyfoo · · Score: 2

      It's only a wasted instruction if you have no idea how compilers work. Any normal compiler will optimize away that instruction even when no optimizations are specified!

  27. Decent Windows by SilentChris · · Score: 2
    Hey, I want to see more articles where *Windows* compares more favorably than Linux at something. Seriously. It doesn't help to have totally one-sided technical reviews all the time, for either platform.

    That said, I was kind of expecting XP to perform slower than 2000. 2000 is a modicum of strong engineering -- the only example of truly great software I've ever seen come out of Microsoft. Now, they add the sheen which -- while more user-friendly -- is sure to drag everything else down.

    1. Re:Decent Windows by barneyfoo · · Score: 2

      Then visit the Microsoft web site, you troll. Microsoft is having NO trouble advocating what tenuous "performance advantages" it has. Slashdot is for nerds, not tools.

  28. Meanwhile in an IBM Exec's office... by succotash · · Score: 2, Funny

    "tell me again why we pay this Dr. to test pipes? And howcome half of his budget goes towards delivery pizza??"

  29. Re:Tired by jgerman · · Score: 2

    It's not a flame, it's flame bait. Succesful businesses do use Linux, we do. In fact it out performs Solaris for our applications. I'm just happy I get to use a *nix instead of windows. Keep windows where it belongs, catering to people who don't know what they're doing.

    --
    I'm the big fish in the big pond bitch.
  30. Read the article first. by lcsjk · · Score: 2, Insightful

    The article mentioned is well written and informative. Based on the comments, many people comment on the substance based on the lead-in Slashdot posting. I say, before you comment on things like "Home version" or "biased", you should learn to read.

  31. This is an important victory because... by sv0f · · Score: 2

    ...it's not the size of the pipe that matters but its speed.

    1. Re:This is an important victory because... by sv0f · · Score: 2

      perhaps you meant: it's not the size of the dog in the fight, it's the size of the dog.

      Brer_rabbit, you may appreciate this variant: It's not the size of the wand that produces a rabbit in the hat, but the magic of man wielding it.

      if (! sizeof(dog_in_fight) )
      sizeof(fight_in_dog);

      As a (Common) Lisper, I'm thinking:

      (if (not (size (dog-in fight)))
      (size (fight-in dog)))

      or:

      (when (not (size (dog-in fight)))
      (size (fight-in dog)))

      or finally:

      (unless (size (dog-in fight))
      (size (fight-in dog)))


  32. Snide, aren't you? by roystgnr · · Score: 2

    If you actually thought that there was an ounce of deceit in IBM's comparison, you would download their published source code, install Linux (I'm guessing that step isn't something you've done already - am I right?) and try the well-documented tests yourself.

    That way, you would find yourself being quoted in all sorts of national tech magazines about IBM's fraudulent benchmarks, rather than just being modded up for some dumbass insinuations on Slashdot.

    Go on. We're waiting.

  33. Results unsurprising and meaningless by Florian+Weimer · · Score: 2, Informative
    'Named pipes' on Win32 and 'pipes' on POSIX do not have much in common, except the name and the fact that you can send data over it. Win32 pipes are more similar to UNIX domain sockets, and while GNU/Linux might still be faster even if UNIX domain sockets are used, it wouldn't be by that much. It would have been interesting to see how real POSIX pipes behave on Windows (for example, in the POSIX subsystem or on Interix, or even on Cygwin).

    Finally, as far as I know, the Win32 API provides other IPC mechanisms, and for transferring large amounts of data, other interfaces are usually used by Win32 programs. That's why the throughput of pipes is not so important on Win32 systems, and performance has not been optimized.

  34. This is not the fastest way to do IPC on Win32. by Jeremy+Allison+-+Sam · · Score: 5, Informative

    Unfortunately this article is
    comparing apples and oranges.

    The Win32 call you need to use is

    CreatePipe(), not CreateNamedPipe().

    CreatePipe is exactly equivalent to
    the UNIX pipe() call. CreateNamedPipe
    with the \\pipe prefix is equivalent
    to mkfifo on UNIX.

    No wonder Win32 is much slower, you're
    going through many more layers in the
    kernel.

    Regards,

    Jeremy Allison,
    Samba Team.

    1. Re:This is not the fastest way to do IPC on Win32. by funkman · · Score: 2
      Me thinks the WIN32 API has changed some rules. From MSDN page about Create Pipe:


      Windows NT/2000 and later: Anonymous pipes are implemented using a named pipe with a unique name. Therefore, you can often pass a handle to an anonymous pipe to a function that requires a handle to a named pipe.

    2. Re:This is not the fastest way to do IPC on Win32. by jon_c · · Score: 2

      it wasn't a final build, it's really not fair to judge it.

      that being said, I have winxp final and I find it multitasking a little strange. For example having it read from a cdrom that is badly scratched causes the machine to almost die. this doesn't happen under win2k, however I would expect it under win9x.

      I only have vague assumptions that I pulled out of my ass for why this happens though.

      -Jon

      --
      this is my sig.
    3. Re:This is not the fastest way to do IPC on Win32. by Paul+Komarek · · Score: 2

      No matter which linux kernel they used, it's not a final build either (says someone trying each new 2.4.x linux kernel, hoping to find one living with until 2.6.x).

      -Paul Komarek

  35. Read the Headline by Kaypro · · Score: 3, Insightful

    This is just saying which OS has faster pipes:

    Linux or Win2K

    (We can eliminate IBM's so called XP comparison....doesn't seem to have much basis)

    All IBM is saying is that if you have some specific app that absolutely needs to have best pipe speed/bandwidth then install LINUX damn it!

    This is not:

    Linux vs Windows
    Linux is harder/easier than Windows
    Linux Rox, Windows Sux
    Windows Rox, Linux Sux
    Tux smashes Windows, news at 11

    Grow up people: When will people realize that there is not one defacto OS standard.

    I love Linux
    I love Windows

    I use Linux for Web Server/FTP Server/IMAP server/DNS/filesharing/

    I use Windows for browsing the web, playing games, Designing web pages, etc.

    Why? Simply because I use the whatever works for whatever I need.

    Why must we have one OS that does everything?

    Seriosly.... if there is some solid reason please tell.

    Just my 2 cents...

    1. Re:Read the Headline by swordgeek · · Score: 2

      Generally agreed. However, one point:

      "Why must we have one OS that does everything?"

      Are you kidding? I'm a professional computer admin and serious geek, and I don't like switching between OSes any more than necessary. I don't like rebooting. I don't like any excess (i.e. unnecessary) work just to switch applications. You can imagine how much the average user is thrilled by the idea of needing multiple OSes just to browse the web, write memos, and play games.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    2. Re:Read the Headline by swordgeek · · Score: 2

      Ah well, that's a different issue.

      I agree entirely that different needs require different OSes. Furthermore, I would say (have, in fact quite often) that having different OSes in the world is inherently a good thing. Diversity leads to stability, and real competition.

      But that said, there's no reason that any given OS shouldn't be capable of doing everything. You should be able to play MP3s on your web server, if you want to install the software (although it's a fairly daft idea if you ask me!). Likewise, you should be able to run apache on your desktop box at home, for a few friends.

      But then with THAT said, I wouldn't consider benchmarks of either Quake3 or Apache to be a valid comparison of FreeBSD vs. Win98. Which is probably your original point, now that I think about it.

      I'll shut up now.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  36. Re:Tired by debrain · · Score: 2

    In the comments it's noted that the tests were done on Win2k Advanced Server. Just a FYI. :)

  37. The Minority View by TopShelf · · Score: 5, Interesting

    I don't use Linux - and I've been a regular /.er for years. Comparisons like this are interesting, as the previous poster noted - MS spends zillion$ to get their word out, so I see nothing wrong with posting alternative viewpoints here...

    --
    Stop by my site where I write about ERP systems & more
    1. Re:The Minority View by DarkEdgeX · · Score: 2

      Right, and I agree with what you're saying about Linux advocates providing their own numbers for consumers/decision makers to digest...

      BUT... when it's an insignificant benchmark, is it REALLY news worthy? Pipes are UNUSED in Win32 code, things like COM/COM+ and other methods of IPC have long since taken hold in Windows software development. Pipes may play a large role in Linux software, but the comparison should be between best IPC implementations, not between Linux Pipes vs. Windows Pipes. THAT'd be a worthy benchmark to read and use to make decisions...

      --
      All I know about Bush is I had a good job when Clinton was president.
  38. You don't remember Mindcraft? by roystgnr · · Score: 3, Interesting

    I would expect that if any benchmarks came out favoring Windows, and if they were reported here

    Benchmarks did come out favoring Windows. They were indeed loudly shot down with criticisms of the testing protocol, and with criticisms of the (Microsoft-funded, in this case) bias of the testing agency. And yes, both those criticisms were just as valid: e.g. not very.

    The testing protocol, just as in this case, deliberately chose an aspect of performance that didn't have much practical meaning (load balancing between many 100MB NICs rather than using one GB card; using pipes on Windows instead of sockets/COM).

    The testing agency, just as in this case, was horribly biased.

    So what was the difference? Well, first of all, the biases were a lot more real before. People pointed out hand-tuning that was applied to NT and not Linux, hardware choices that seemed to deliberately use the least supported options, and misconfigurations of the Linux software. Do you have any similar things to point out here, other than "Everybody knows you shouldn't use pipes on Windows"?

    The second difference? Even after those biases were taken into account, there was still aspects in which Linux's performance could be improved, and so it was, gradually over the next 18 months, until it now beats Windows in the same configurations. Do you think that the converse will be true, and Windows 2003 will have blazing performance in all forms of IPC? Would you like to bet money?

  39. Run on a Thinkpad? by corky6921 · · Score: 4, Insightful

    In the discussion forums, the guy who posted these results admits, "I ran the tests on a thinkpad."

    I'm sorry, but what does this prove? Linux runs better on a laptop? Is he comparing Linux, the server OS, to Windows 2000 Pro, the consumer OS? What version of Windows XP is he running?

    These tests are really subjective, not only because pipes aren't really used in Windows, but also because he used a laptop to test it (and didn't give details of the Windows OSes he was running.) If anything, I wish he would have used some bigger iron (a Xeon-based system, perhaps, or some of IBM's middle-of-the-line servers.)

    I think the best conclusion we can draw from this is that Linux may indeed be a better OS than Windows in some ways, but that this test doesn't prove it.

  40. Performance usually the least of my considerations by eyeball · · Score: 4, Interesting

    As a systems architect at a very large (non dot-com company I might add), when considering platforms and technology for adoption, speed of certain aspects of an os are usually pretty low on my list of priorities. Tops are:

    - Available human resources: do we have developers that know x technology. If not, how available are they?
    - Business: are there any benefits to adopting a certain technology, such as existing or potential partnerships? i.e.: existing support contracts, brand name recognition
    - Liability: is there someone to blame when things go wrong? (like it or not)
    - Scalability: can the adoption of a technology come with a guarantee that some aspect of performance doesn't hit a brick wall?

    Among others.

    --

    _______
    2B1ASK1
  41. Unix Sockets by rootmonkey · · Score: 2, Insightful

    I think an intersting comparison would be winxp's implemention of unix sockets compared against Linux's implementation.

    --

    Yes but every time I try to see it your way, I get a headache.
  42. Named pipes vs. unnamed pipes? by Ablar · · Score: 2, Insightful

    Anyone else bothered by the fact that the tests on Windows were using named pipes while the Linux ones were using unnamed pipes? I'm rather certain that named pipes would be slower in the first place...

  43. grammer? by the_2nd_coming · · Score: 2, Funny

    Although I new Linux would fare the best

    I know this my sound a little.....stupid coming from me, for those that know my postings, but even I am not this bad.

    --



    I am the Alpha and the Omega-3
  44. This is not the fastest way to do IPC on Win32. by Jeremy+Allison+-+Sam · · Score: 2

    Unfortunately this article is
    comparing apples and oranges.

    The Win32 call you need to use is

    CreatePipe(), not CreateNamedPipe().

    CreatePipe is exactly equivalent to
    the UNIX pipe() call. CreateNamedPipe
    with the \\pipe prefix is equivalent
    to mkfifo on UNIX.

    No wonder Win32 is much slower, you're
    going through many more layers in the
    kernel.

    Regards,

    Jeremy Allison,
    Samba Team.

  45. Re:This may NOT be the fastest way to do this... by Jeremy+Allison+-+Sam · · Score: 3, Interesting

    No it isn't.

    Unfortunately this article is
    comparing apples and oranges.

    The Win32 call you need to use is

    CreatePipe(), not CreateNamedPipe().

    CreatePipe is exactly equivalent to
    the UNIX pipe() call. CreateNamedPipe
    with the \\pipe prefix is equivalent
    to mkfifo on UNIX.

    No wonder Win32 is much slower, you're
    going through many more layers in the
    kernel.

    Regards,

    Jeremy Allison,
    Samba Team.

  46. Wrong, Jeremy by throx · · Score: 5, Informative

    I thought the same thing initially, but when I tried using CreatePipe() instead of CreateNamedPipe() I actually got a performance degradation of about 5%. Looking deeper into this, I found that CreatePipe() actually creates a named pipe and places security descriptors on each end which restrict it to unidirectional access (hence the slowdown).

    From the MSDN documentation:

    Windows NT/2000: Anonymous pipes are implemented using a named pipe with a unique name. Therefore, you can often pass a handle to an anonymous pipe to a function that requires a handle to a named pipe.

    --

    Fear: When you see B8 00 4C CD 21 and know what it means

  47. Amiga zealots, round 2 by Junks+Jerzey · · Score: 2

    Sigh. At one time the Amiga was the pinnacle of personal computer design, but the Amiga community degenerated into an inbred group that other people couldn't stand to be around. I kept wanting to scream "If you like your Amiga, then that's great, but if you think it's so superior then why do you have such a defensive tone?"

    So, yay, Linux fanatics can start bragging that they have faster pipes. And the rest of the world can get even more annoyed with the weird rantings of said Linux fanatics.

  48. The real surprise by Baconator · · Score: 2, Insightful
    ...is the Win2K vs. Win XP results. As everyone (including the author of the article) has pointed out, pipes don't play a very important role in Windows -- so it's perhaps true that the Linux vs. Windows comparison isn't very meaningful.

    However, the significant performance degradation in any feature from one version of Windows to the next is a pretty damning result. It would seem to legitimize the feeling that many Windows users have that XP is a big downgrade from 2K.

    1. Re:The real surprise by be-fan · · Score: 2

      However, the significant performance degradation in any feature from one version of Windows to the next is a pretty damning result. It would seem to legitimize the feeling that many Windows users have that XP is a big downgrade from 2K.
      >>>>>
      Not necessarily. OS design consists of lots of tradeoffs. If one feature isn't used often, it is quite possible that its performance would be sacrified to make something else faster.

      --
      A deep unwavering belief is a sure sign you're missing something...
  49. It's what's IN the pipes that matters... by SeaCrazy · · Score: 2, Informative

    Well, Linux may have better pipes, but we all know that Microsoft has lots of more money so they can afford to buy much better crack which more than makes up for the poor quality pipes.

    --
    .sig? Get your own damn .sig!
  50. CreateNamedPipe vs. CreatePipe by KidSock · · Score: 2

    The CreateNamedPipe call creates a pipe that can be connected to a pipe potentially on another host addressed by UNC name. MS admits that this is slow and that sockets should be used instead if raw performace is desired. The benifits are that they are authenticated and mediated by the CIFS networking layer (thus the slow down).

    To more accurately compare pipes as IPC mechanisms they should have used the CreatePipe call which creates an anonymous named pipe that only goes through the Kernel and back. These should be quite fast by comparison. Of course a much more interesting comparison would be to compare shared memory -- a much more critical IPC mechanism used by high performace appclications like databases.

    BTW if you want to access NamedPipes and TransactNamedPipes in 100% Java the http://jcifs.samba.org project has implemented everything necessary to interoperate with MS NamedPipe servers.

  51. Pipes have a place by alienmole · · Score: 2
    Pipes are still used in server applications on Windows, and none of the IPC mechanisms you mention are a complete replacement for what pipes are good at: streaming data from one machine to another, where there's a reason to maintain a connection over a period of time. You can also use sockets for this purpose. Although sockets are often used instead of pipes, that's simply because it's more in line with most Internet applications - using sockets requires a bit more work.

    Also, there's a performance issue: Windows' high-level IPC stuff is slower, and if you don't need all that functionality, you can be better off with a lower-level mechanism.

  52. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  53. Re:Programming usage by Old+Wolf · · Score: 2

    We're talking about named pipes here. It would be ambitious to generate a 15-long chain of named pipes :)

  54. Re:Link for the uninformed? by be-fan · · Score: 2

    Pipes are what they used before proper IPC methods like messaging were created...

    I'm just kidding. Pipes are a mechanism to allow applications to send data to each other. An app at one end can stuff date into the pipe by pretending its writing to a file, and the app at the other end can read the pipe just like a file and get the data out. In Windows, pipes are rarely used. More often, people will use messaging or implement a COM or OLE component.

    --
    A deep unwavering belief is a sure sign you're missing something...
  55. Re:My Experience with the Linux Operational System by MindStalker · · Score: 2

    I know I'm waisting my breath, I'm just in a silly mood today.
    I expect to be able to configure Linux as I configure Windows2000. You can, you just have to know what your doing, its not like someone who spent their entire lives working on a Mac could just sit down and expect to be able to configure a full Windows2000 enterprise solution without any problems, so why should be expected to be able to sit down at linux and be able to run it without any learning.
    Convert to VB? VB is a programming language nothing more, I'm sure if someone really wanted to they could write a VB compiler in linux,
    (working around the obvious hooks to windows api) but why?
    There is absolutly nothing slow about C, though I personally prefer C++, slowness is in the coding method and the complier, there is nothing "slow" about C anymore than any other language. Anyways it all comes down to the classic vi/emacs war, you can produce the same results with both of them, its just a matter of what your comfortable with.

  56. what use, these pipes? by Sebastopol · · Score: 2


    how often are pipes used in important server applications? yes, they are ubiquitous on the command line, but how frequently would a pipe be used over an API call? i can't imaging sticking a "system("app1 | app2 | app3");" call inside of a major server application stack. or would this be done in real life?

    windows is built around API calls, not pipes, so it doesn't surprise me that pipe communications blow.

    somebody fill me in...

    --
    https://www.accountkiller.com/removal-requested
    1. Re:what use, these pipes? by Webmonger · · Score: 2

      Pipes are actually quite nifty. To grep a string in your own program,
      Create a pair of pipes, and assign them to stdin and stdout
      Fork
      In one branch, execute grep with stdin (i.e. a pioe) as the input and stdout(i.e. a pipe) as the output. In the other, feed the input into one pipe, and read it out the other pipe.

  57. They need to start to think bigger! by Zero__Kelvin · · Score: 2


    Forget pipes, they need to start implementing Bongs and even Hookahs! 8^}

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  58. I have to know... by rice_burners_suck · · Score: 2

    What does B8 00 4C CD 21 mean?

    1. Re:I have to know... by throx · · Score: 2

      It's x86 machine code for:

      MOV AX,4C00 (note little endian)
      INT 21

      or, in terms of the old DOS days, exit(0). The fear comes in when you see it, know what it means and realize just how full your brain is of stuff you are never likely to use again...

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

    2. Re:I have to know... by DarkEdgeX · · Score: 2

      It's really sad, but I figured that out quickly... [sigh]

      --
      All I know about Bush is I had a good job when Clinton was president.
    3. Re:I have to know... by rice_burners_suck · · Score: 2

      Well it's a big relief that I didn't recognize it before. Thanks. :-)

  59. Re:this is a surprise? by Graymalkin · · Score: 2

    WindowsXP == WindowsNT 5.1. For the personal edition they only provide a uniprocessor kernel and put some Millennium-like toys like the personal video editor and shit. It's memory management is also detuned similarly to the way memory is tuned differently between WinNT Pro and Server.

    --
    I'm a loner Dottie, a Rebel.
  60. Absolutely by extrasolar · · Score: 2

    I agree with your statement that they shouldn't focus on the "average user" who just wants to check email, write documents, and browse the web. If that was all users wanted to do, they could make GNU/Linux extremely simple to use. But for some reason the powers that be wanted a general purpose operating system rather than an expensive gameboy and so that implies more complexity. There is no way you can get away with a dirt-easy general purpose OS.

    This is my offtopic rant of the day.

  61. Missing the point? by Futurepower(tm) · · Score: 2


    MODERATORS: I suggest you moderate the parent comment UP.

    Microsoft probably slowed pipes in Windows XP (eXtra Pain) to accomplish some purpose. Here are some quotes from the parent comment:

    'Many "enterprise" systems still use pipes on windows. Database systems in particular...'

    "I doubt SQL Server uses them (especially if they're degrading this quickly) but many of MS's competitors still do (Including IBM's DB2)."

    Of course, long-time Slashdot readers will find it hard to believe that Microsoft would do something against the common good. *grin*

    Also, the point is not that this test shows the overall superiority of Linux. It shows an example of the code quality of Linux.


    Secrecy destroys democracy: What should be the Response to Violence?

    --
    Bush's education improvements were
  62. Re:New to IO and Pipes by crucini · · Score: 2
    Hate to break up the banter with newslist-newbie-type question, but what exactly are pipes used for?

    Pipes are one of several IPC (interprocess communication) techniques used in Unix. Type 'perldoc perlipc' for a (perl-centric) overview. Example of where I used pipes: a program that forks, with one process handling the GUI and several handling web transactions. How can the webgetters share data with the GUI? Some kind of IPC. Why did I fork? Because I didn't want the GUI stuck while downloading data from the web.

    Named pipes are a bit special, because they sit there in the file system looking much like ordinary files, even when no process is using them.
  63. Read Again by crucini · · Score: 2

    He did test with a 4k buffer on NT. It was slow, so he tried the huge buffer.

  64. Re:Performance usually the least of my considerati by eyeball · · Score: 2

    Interesting that you automatically assumed that I was implying windows. I actually work with Solaris 60% of the time, 20% windows and 20% linux. Regardless, it would be pointless and retarded for me to argue performance, latency and resource hogging since all comparisons are subjective to individual projects. Which was exactly my point to begin with -- that often you have to look well beyond performance to the point of even making sacrifices in a business environment.

    i.e.: I would like to use the linux RPM system for software deployment, but need to make a rational decision to go with the standard Solaris Package system since my 20 system admins refuse to learn anything new. Again, these are real world realities beyond the academic/hobbyist/startup environment.

    --

    _______
    2B1ASK1
  65. Oh you are one of those? by Malcontent · · Score: 2

    "- Liability: is there someone to blame when things go wrong? (like it or not) "

    I am sure there exists in some business school or some corporate brainwashing seminar or maybe a crack den someplace where people are told that they can hold software manufacturers responsible for crappy code. What frightens me more then anything else of course are CIOs (or perhaps some middle level drones such as yourself) actually make decisions based on this premise. One presumes of course that they are not only willing to bet the company on such a shaky understanding of reality but are also willing to go to court and sue MS because the server crashed.

    So do me and all the other slashdot readers a favor and tell us the company you work for. I for one want to make sure I don't own any stock in a company that has such stupid management. I certainly want to avoid investing in companies that are willing to waste their shareholders money trying to sue Microsoft or Oracle. Besides it will be awfully embarrassing when the court documents show that not one person in the IT dept ever read a EULA.

    --

    War is necrophilia.

  66. Re:Performance usually the least of my considerati by RandomPeon · · Score: 2

    i.e.: I would like to use the linux RPM system for software deployment, but need to make a rational decision to go with the standard Solaris Package system since my 20 system admins refuse to learn anything new. Again, these are real world realities beyond the academic/hobbyist/startup environment.


    Then you're not doing a good job explaining the benefits of RPM to them, or you have people who will fossilize when their preffered solution for a particular task becomes obsolete. I'm always amazed at people who let these considerations completely outweigh technical issues. At the point where solely internal politics forces you to choice something you believe is inferior, you have a problem.

  67. I actually find this study useful... by Tord · · Score: 3, Insightful

    I see a lot of comments here bashing the article for not giving the whole picture and you're right, it doesn't give the whole picture, but neither was it intended to.

    As a programmer doing cross-platform software development I find it interesting and useful. What I want to know is that if I use pipes for IPC, how does it affect performance on the different platforms? I'm not interested in any additional features of Microsoft's implementation of it, because in my project I just want an easy, simple and fast way for cross-program communication that works very similarly on all platforms.

    When I wrote BladeEnc I envisioned that the pipe-support I included in around 0.80 would be useful for using BladeEnc in for example realtime recording applications. Now I know that solution would give quite some performance penalty on WinXP systems and thanks to the detailed graphs I also know better how to tweak the size of the chunks I send/receive to gain some performance.

    Take this article for what it is, a guiding light for software developers that helps them to write better and more efficient applications. It was written by a programmer for programmers (it's on developerWorks) and doesn't make any claims to be a valid benchmark between the platforms in general. It just shows what performance you can expect on different platforms if you use pipes in the most simple way for IPC, combined with different chunksizes.

  68. Pipes are a bad form of interprocess communication by Animats · · Score: 2
    There's a basic problem in the interprocess communication business. What you usually want is a subroutine call, but what the OS usually gives you is an I/O operation. Mapping one to the other ("marshalling" and "unmarshalling") is inefficient.

    What's needed is the ability to call a method of an object in another address space. CORBA (and DCOM) support this, but it's inefficient, because the mechanism in the middle is a pipe or socket. (Or protection is bypassed entirely, which is a common non-solution.)

    Specifically, what's needed in the OS and hardware is the ability to call across a protection boundary. Every system call does this. The mechanism behind system calls needs to be generalized to support arbitrary inter-object calls.

    This has been implemented a few times, most notably in Multics protection rings, but there's usually a hierarchy involved. The call system supports safely calling objects with more privileges than yours, but doesn't generalize.

    QNX, the most successful commercial microkernel, works a lot like this. There's more copying involved than one might like, but it works fine. With better hardware (some minor mods to Pentium call gates would do it), such calls could be very low cost.

    What would this all mean? CORBA without the overhead. Fewer monolithic systems. Collections of components more reliable than the individual components, like clusters. Stuff that worked.