Interesting. Here are the times I get:

LINUX:
slurp, *in* 18.8 seconds
slurp, System/in 18.2 seconds
slurp2, *in* 6.7 seconds
slurp2, System/in 5.7 seconds

I have an intel iMac here too, running 10.6.4:
slurp, *in* 20.4 seconds
slurp, System.in 19.0 seconds
slurp2, *in* 7.2 seconds
slurp2, System/in 6.0 seconds

For another data point, I wrote a simple java version:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Cat {
    public static void main(String[] args) throws Exception {
        BufferedReader reader;
        reader = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder fileData = new StringBuilder();
        char[] buffer = new char[4096];
        int numRead = 0;
        long totalRead = 0;
        int c;

        if (args[0].equals("single")) {
            // single-char
read
            while ((c = reader.read()) != -1) {
                totalRead++;
                fileData.append((char)c);
            }
        }
        else {
            // buffered
read
            while ((numRead = reader.read(buffer)) != -1) {
                totalRead += numRead;
                fileData.append(buffer, 0, numRead);
            }
            System.out.println(totalRead);
        }
    }
}

Runnning this like so:

$ javac Cat.java && cat words | time java -Xmx3G -cp . Cat single
gives 14.5 seconds on linux and 17.1 seconds on the mac

running it like this:
$ javac Cat.java && cat words | time java -Xmx3G -cp . Cat buffered
gives 2.5 seconds on linux and 5.4 seconds on the mac

I'm not sure it's totally analogous but it does seem to indicate that
the single-char reads are slower on both platforms.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to