Skip to content

Instantly share code, notes, and snippets.

View syou6162's full-sized avatar

Yasuhisa Yoshida syou6162

View GitHub Profile
@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 []
@syou6162
syou6162 / shrinked-IMGP1852-2.jpg
Last active December 15, 2015 15:09
御所でお花見
shrinked-IMGP1852-2.jpg
(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 / 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",
#! /opt/local/bin/ruby1.9
# -*- coding: utf-8 -*-
require 'mechanize'
require 'logger'
require 'time'
require 'optparse'
require 'pp'
class HatenaGroupKeyword
attr_accessor :agent
# -*- coding: utf-8 -*-
class Entry
attr_accessor :name
def initialize(name)
@name = name
end
def display(indent=0)
end
def make
#!/opt/local/bin/ruby1.9
# -*- coding: utf-8 -*-
require 'hparser'
puts HParser::Parser.new.parse(STDIN.read).map {|e| e.to_html }.join("\n")
@syou6162
syou6162 / ho
Created September 8, 2012 04:48
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require "optparse"
@options = {
:hatena => nil, #はてなで開く
}
opts = OptionParser.new