How much is ten times a microsecond? There's no way the user could
detect that kind of latency in a console app. If you're worried about
startup time, then the code of the actual task isn't really relevant.

On Apr 19, 12:08 am, Michael Golovanov <mike.golova...@gmail.com>
wrote:
> Hi everyone
>
> I have the same task implementation on Java and Clojure. Task is very
> simple: User input integers to the console. Program need print inputed
> integers until user input is 42.
> Clojure implementation is 10 times slower, how to optimize Clojure
> implementation performance?
>
> Java impl:
>
> import java.util.Scanner;
>
>     public class Main {
>       public static void main(String[] args) {
>         Scanner sc = new Scanner(System.in);
>         do {
>           int num = sc.nextInt();
>           if (num == 42)
>             break;
>          System.out.println(num);
>        } while( true );
>     }
>   }
>
> Clojure impl:
>
> (import java.util.Scanner)
>
> (defn getNextInt [scanner term f x]
>   (if (not= x nil)
>     (apply f [x]))
>
>   (let [val (. scanner nextInt)]
>     (if (not= val term)
>       (getNextInt scanner term f val))))
>
> (getNextInt (Scanner. System/in) 42 (fn [x] (println x)) nil)
>
> Thanx

-- 
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