Slashdot Mirror


Java IO Faster Than NIO

rsk writes "Paul Tyma, the man behind Mailinator, has put together an excellent performance analysis comparing old-school synchronous programming (java.io.*) to Java's asynchronous programming (java.nio.*) — showing a consistent 25% performance deficiency with the asynchronous code. As it turns out, old-style blocking I/O with modern threading libraries like Linux NPTL and multi-core machines gives you idle-thread and non-contending thread management for an extremely low cost; less than it takes to switch-and-restore connection state constantly with a selector approach."

3 of 270 comments (clear)

  1. Re:Should be using Scatter/Gather +IOCP on windows by Alex+Belits · · Score: 1, Troll

    When you listen to the technical explanations, the Microsoft way actually IS better - it's just aht it's totally incompatible with evrything else.

    No. It's only better if the rest of the system is done according to Microsoft ideology -- that is, never try to look at a bigger picture when designing each piece, then go out of your way to make each piece optimal in face of completely un-cooperating environment. Microsoft developers have no idea how Unix-like systems deal with I/O, scheduler and virtual memory all interacting with each other, so after Microsofties introduce massive amount of complexity everywhere, it seems to them that they have an optimal solution for each and every case they tried to optimize. In reality Unix had system that is more optimized and more straightforward for the developer.

    --
    Contrary to the popular belief, there indeed is no God.
  2. Java counterpart to XNA? by tepples · · Score: 0, Troll

    101 Reasons why Java is better than .NET

    All of which are null and void if there's no JVM for your (non-PC) target platform. Which Java edition lets the public program for a game console? .NET does; XNA for Xbox 360 is based on the .NET Compact Framework.

  3. Re:And this is news? by icebraining · · Score: 1, Troll

    But Perl promotes bad practices, by naming variables like $_ and @_, by having code (in the official docs!) like "while ()", etc.

    You have to fight it to keep your code clean, and when you go to read others' code, it's very difficult.