Skip to content

Instantly share code, notes, and snippets.

View syou6162's full-sized avatar

Yasuhisa Yoshida syou6162

View GitHub Profile
@syou6162
syou6162 / friends_extractor.rb
Created September 24, 2012 14:26
HandBrakeのCLIでmp4に変換
handbrake_path = "/Volumes/HandBrake-0.9.8-MacOSX.6_CLI_x86_64/HandBrakeCLI"
preset = "--preset=\"iPhone & iPod Touch\""
native_language = "--native-language eng"
subtitle = "--subtitle 2 --subtitle-burn 2"
input_base_dir = "/Users/yasuhisa/Desktop"
output_base_dir = "/Users/yasuhisa/Desktop"
cdr_id = 1
(1..4).each {|chapter|
opts = ["-i", "#{input_base_dir}/FRIENDS_1_#{cdr_id}.cdr",
(defmacro memoize-fn [name args body]
`(let [mem# (atom {})]
(fn ~args
(if-let [e# (find @mem# ~args)]
(val e#)
(let [ret# ~body]
(swap! mem# assoc ~args ret#)
ret#)))))
(->> (range 35)
@syou6162
syou6162 / shrinked-IMGP1852-2.jpg
Last active December 15, 2015 15:09
御所でお花見
shrinked-IMGP1852-2.jpg
@syou6162
syou6162 / README.md
Last active October 19, 2017 01:58
Clojure performance tips

メモリ

個人的にはコレクションと配列との使用メモリ量比較が参考になりました.1M 個の long を格納するとして,vector だと 30MB, vector-of だと 9MB, 配列だと 8MB というのは覚えておいて損は無さそうです.案外 vector はメモリを食いません.

メモリ消費量を測定する用のマクロ

(defn current-total-memory-usage []
#_(defdeps
[[org.clojure/clojure "1.5.1"]
[info.yasuhisay/clj-utils "0.1.1"]
[org.clojure/tools.cli "0.2.1"]])
(ns info.yasuhisay.dep-util
(:use [clojure.string :only (split)])
(:use [clj-utils.random :only (shuffle-with-random)])
(:require [clojure.tools.cli :as cli]))
@syou6162
syou6162 / penn.clj
Created November 9, 2013 07:46
Clojure + Stanford ParserでS式を読み込んで色々操作する例
(import edu.stanford.nlp.trees.PennTreeReader)
(let [filename "/Users/yasuhisa/Desktop/PENN_TREEBANK3/PARSED/MRG/WSJ/00/WSJ_0001.MRG"]
(with-open [rdr (clojure.java.io/reader filename)]
(let [ptr (new PennTreeReader rdr)
trees (loop [result []]
(if-let [t (.readTree ptr)]
(recur (conj result t))
result))]
(for [^LabeledScoredTreeNode t trees]
;; Clojureでのhashcodeの例
(hash "hoge") ; 3208229
;; clojureのvectorはよい
(hash [1 2 3]) ; 30817
;; javaの配列は毎回hashcodeが変わってしまうので注意
(hash (int-array [1 2 3])) ; 1628598432
(hash (int-array [1 2 3])) ; 1172445666
;; feature hashingの例
@syou6162
syou6162 / wip.md
Last active August 29, 2015 13:56