rlm@0: (ns coderloop.top-five2 rlm@0: (:refer-clojure :only []) rlm@0: (:require rlm.ns-rlm rlm.light-base)) rlm@0: (rlm.ns-rlm/ns-clone rlm.light-base) rlm@0: rlm@0: (use 'coderloop.parallel-io) rlm@0: rlm@0: (def a (file-str "/home/r/coderloop-test/topfive-a.in")) rlm@0: (def b (file-str "/home/r/coderloop-test/topfive-b.in")) rlm@0: (def c (file-str "/home/r/coderloop-test/topfive-c.in")) rlm@0: (def d (file-str "/home/r/coderloop-test/topfive-d.in")) rlm@0: (def e (file-str "/home/r/coderloop-test/topfive-e.in")) rlm@0: (def f (file-str "/home/r/coderloop-test/topfive-f.in")) rlm@0: rlm@0: (set! *warn-on-reflection* true) rlm@0: rlm@0: (defn #^"[Ljava.lang.String;" dumbest-split* rlm@0: [#^String s c #^"[Ljava.lang.String;" tokens] rlm@0: (let [len (dec (int (alength tokens)))] rlm@0: (loop [start (int 0) rlm@0: i (int 0)] rlm@0: (let [idx (int (.indexOf s (int c) (int start)))] rlm@0: (if (or (neg? idx) (>= i len)) rlm@0: (do (aset tokens i (.substring s start)) rlm@0: tokens) rlm@0: (do (aset tokens i (.substring s start idx)) rlm@0: (recur (inc idx) (inc i)))))))) rlm@0: rlm@0: (defn get-query-1 [s] rlm@0: (nth (re-matches #"^.*, query=(.*)]$" s) 1)) rlm@0: rlm@0: rlm@0: (defn #^java.lang.String get-query-2 [#^java.lang.String s] rlm@0: (.substring s (clojure.core/+ (.lastIndexOf s "query=") 6) (clojure.core/- (.length s) 1))) rlm@0: rlm@0: (defn #^java.lang.String get-query-3 [#^java.lang.String s] rlm@0: )