CLJ/CLJS perf comparison on DataScript 0.11.4
test: q, method: d/q1, size: 100
{:unit μs, :min 61.923, :median 76.887, :max 161.738}
test: q, method: d/q2, size: 100
{:unit μs, :min 200.32, :median 213.523, :max 251.318}
| (ns uploader | |
| (:require | |
| [clojure.string :as str] | |
| [goog.dom :as gdom] | |
| [goog.userAgent :as ua] | |
| [rum.core :as rum])) | |
| (defonce supports-dragndrop? | |
| (let [el (js/document.createElement "div")] |
| [~/Dropbox/ws/rum] lein perf | |
| --- Testing page1.html (1 kB) --- | |
| Evaluation count : 4656 in 6 samples of 776 calls. | |
| Execution time mean : 127.518354 µs | |
| Execution time std-deviation : 3.729988 µs | |
| Execution time lower quantile : 124.490218 µs ( 2.5%) | |
| Execution time upper quantile : 132.649851 µs (97.5%) | |
| Overhead used : 2.051537 ns |
| (require '[datascript :as d]) | |
| (defn count-vals [db e a] | |
| (count (d/datoms db :eavt e a))) | |
| (let [db (-> (d/empty-db {:link/tags {:db/cardinality :db.cardinality/many}}) | |
| (d/db-with [[:db/add 1 :link/tags "a"] | |
| [:db/add 1 :link/tags "b"] | |
| [:db/add 1 :link/tags "c"] | |
| [:db/add 2 :link/tags "x"] |
test: q, method: d/q1, size: 100
{:unit μs, :min 61.923, :median 76.887, :max 161.738}
test: q, method: d/q2, size: 100
{:unit μs, :min 200.32, :median 213.523, :max 251.318}
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.7.3/immutable.min.js"></script> | |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mori/0.3.2/mori.js"></script> | |
| <script type="text/javascript"> | |
| var hex_chars = "0123456789abcdef"; | |
| function rand_int(max) { | |
| return Math.floor(Math.random() * max); | |
| } |
| (defn- send-udp [s port] | |
| (with-open [socket (java.net.DatagramSocket.)] | |
| (let [group (java.net.InetAddress/getByName "localhost") | |
| bytes (.getBytes s) | |
| packet (java.net.DatagramPacket. bytes (count bytes) group port)] | |
| (.send socket packet) | |
| (.close socket)))) | |
| (deftask anybar [p port VAL int "AnyBar port"] | |
| (let [port (or port 1738)] |
| [~/work/dataserver-perf] lein run -m transit-perf | |
| Reflection warning, /private/var/folders/5b/l86qswcd6x55f8scs4xv16ch0000gn/T/form-init1230410416827476545.clj:1:949 - call to static method invokeStaticMethod on clojure.lang.Reflector can't be resolved (argument types: unknown, java.lang.String, unknown). | |
| JSON | |
| WARNING: Final GC required 8.516571405051678 % of runtime | |
| Evaluation count : 4842 in 6 samples of 807 calls. | |
| Execution time mean : 127.405503 µs | |
| Execution time std-deviation : 2.807037 µs | |
| Execution time lower quantile : 124.163041 µs ( 2.5%) | |
| Execution time upper quantile : 130.326300 µs (97.5%) |
| { :+ | |
| { :editor | |
| { "pmeta-/" [:toggle-comment-selection] | |
| "ctrl-shift-up" [:editor.sublime.selectLinesUpward] | |
| "ctrl-shift-down" [:editor.sublime.selectLinesDownward] | |
| "pmeta-d" [:editor.sublime.selectNextOccurrence] | |
| "ctrl-m" [:editor.sublime.goToBracket] | |
| "ctrl-shift-m" [:editor.sublime.selectBetweenBrackets] | |
| "shift-pmeta-space" [:editor.sublime.selectScope] | |
| "ctrl-pmeta-up" [:editor.sublime.swapLineUp] |
| (defn opening? [sym] | |
| (when (symbol? sym) | |
| (.endsWith (name sym) ">"))) | |
| (defn closing? [sym] | |
| (when (symbol? sym) | |
| (.startsWith (name sym) "<"))) | |
| (defn split-closing [t exprs] | |
| (split-with |
| (ns task02.network | |
| (:use [task02 helpers query]) | |
| (:require [clojure.java.io :as io] | |
| [clojure.string :as str]) | |
| (:import [java.net Socket ServerSocket InetAddress InetSocketAddress SocketException])) | |
| (def inactive-timeout 20000) | |
| ;; Объявить переменную для синхронизации между потоками. Воспользуйтесь promise | |
| (def ^{:private true :dynamic true} *should-be-finished* nil) |