Submit Search
Upload
次世代数値演算 ライブラリ Decimal という再発明の意義
•
1 like
•
2,140 views
Tadashi Saito
Follow
rubykaigi2009 LT
Read less
Read more
Technology
Report
Share
Report
Share
1 of 98
Download now
Download to read offline
Recommended
Nendo At Kansai Ruby Kaigi03
Nendo At Kansai Ruby Kaigi03
Kiyoka Nishiyama
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
Ordinary Management
Ordinary Management
Koichi ITO
Dns primer
Dns primer
Hirohisa Yamaguchi
【PDF版】破壊的イノベーション ケーススタディ:テスラ・モータース
【PDF版】破壊的イノベーション ケーススタディ:テスラ・モータース
Shintaro Shitanaka
Japan Venture going Global 2014,Oct,22 Final version
Japan Venture going Global 2014,Oct,22 Final version
Akira Kitamura
Design for civictech 160722
Design for civictech 160722
Naoka MISAWA
goo基盤を支えるOpenstack
goo基盤を支えるOpenstack
Tomoya Hashimoto
Recommended
Nendo At Kansai Ruby Kaigi03
Nendo At Kansai Ruby Kaigi03
Kiyoka Nishiyama
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
Ordinary Management
Ordinary Management
Koichi ITO
Dns primer
Dns primer
Hirohisa Yamaguchi
【PDF版】破壊的イノベーション ケーススタディ:テスラ・モータース
【PDF版】破壊的イノベーション ケーススタディ:テスラ・モータース
Shintaro Shitanaka
Japan Venture going Global 2014,Oct,22 Final version
Japan Venture going Global 2014,Oct,22 Final version
Akira Kitamura
Design for civictech 160722
Design for civictech 160722
Naoka MISAWA
goo基盤を支えるOpenstack
goo基盤を支えるOpenstack
Tomoya Hashimoto
Service design changes organization
Service design changes organization
Naoka MISAWA
Yahoo! JAPANとRiak
Yahoo! JAPANとRiak
Yahoo!デベロッパーネットワーク
正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)
Kazuo Suzuki
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
満徳 関
デザイン提案の参考資料
デザイン提案の参考資料
Tsutomu Sogitani
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
From String#undump to String#unescape
From String#undump to String#unescape
Tadashi Saito
Rationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみた
Tadashi Saito
Rationalを最適化してみた
Rationalを最適化してみた
Tadashi Saito
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Tadashi Saito
詳解! Decimal
詳解! Decimal
Tadashi Saito
拡張ライブラリを作るとリア充
拡張ライブラリを作るとリア充
Tadashi Saito
More Related Content
Viewers also liked
Service design changes organization
Service design changes organization
Naoka MISAWA
Yahoo! JAPANとRiak
Yahoo! JAPANとRiak
Yahoo!デベロッパーネットワーク
正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)
Kazuo Suzuki
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
満徳 関
デザイン提案の参考資料
デザイン提案の参考資料
Tsutomu Sogitani
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
Viewers also liked
(6)
Service design changes organization
Service design changes organization
Yahoo! JAPANとRiak
Yahoo! JAPANとRiak
正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
デザイン提案の参考資料
デザイン提案の参考資料
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
More from Tadashi Saito
From String#undump to String#unescape
From String#undump to String#unescape
Tadashi Saito
Rationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみた
Tadashi Saito
Rationalを最適化してみた
Rationalを最適化してみた
Tadashi Saito
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Tadashi Saito
詳解! Decimal
詳解! Decimal
Tadashi Saito
拡張ライブラリを作るとリア充
拡張ライブラリを作るとリア充
Tadashi Saito
More from Tadashi Saito
(6)
From String#undump to String#unescape
From String#undump to String#unescape
Rationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみた
Rationalを最適化してみた
Rationalを最適化してみた
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
詳解! Decimal
詳解! Decimal
拡張ライブラリを作るとリア充
拡張ライブラリを作るとリア充
次世代数値演算 ライブラリ Decimal という再発明の意義
1.
matzり、終了!
2.
次世代数値演算
ライブラリ Decimal という再発明の意義 筑波大学 斎藤 匡
3.
「Ruby逆引きレシピ」
by Ruby札幌
4.
「小数の計算」
5.
拙作ライブラリ Decimalが載っ ております
6.
目の前のジュ ンク堂書店で 売っています
7.
「Ruby逆引きレシピ」 by
Ruby札幌
8.
!買ってね!
9.
Decimal
10.
Decimal??
11.
「任意精度 小数演算 ライブラリ」
12.
Floatより正確 な小数の計算
13.
でも
14.
今日、俺は宣伝し に来たんじゃない
(建前)
15.
前提
16.
ソフトウェア
17.
ウェアソフトウェアソ フトウェアソフトウェ アソフトウェアソフト ウェアソフトウェアソ フトウェアソフトウェ アソフトウェアソフト ウェアソフトウェアソ フトウェアソフトウェ
18.
コモディティ
19.
みんな「再発明」
20.
より良い「再発 明」のしかた
21.
Decimalは「具 体例」の一つ
22.
一般的な「定 理」を探りたい ↑目的
(建前)
23.
Decimal??
(2)
24.
標準添付 「BigDecimal」 を作り直した感 じの何か
25.
BigDecimalの
再発明
26.
“Better BigDecimal”
↓ Decimal (ヲレヲレ)
27.
何故?
28.
二点
29.
実装がダサい
30.
設計がダサい
31.
133,553
vs 38,649
32.
(1)
33.
実装 について。
34.
BigDecimal: 133,553 bytes
vs Decimal: 38,649 bytes
35.
実装量の違い
36.
約 3.5 倍 コンパクト!!
37.
何故?
38.
再利用!
39.
(原理はじめ)
40.
そもそも
41.
小数は 整数の組 で表せる
42.
3.14
43.
(314, 2)
44.
「314」の 「下から2桁」 に小数点
45.
3.14159265358979
46.
(314159265358979, 14)
47.
(大きい整数, 小さい整数)
48.
小数の計算 ≒ 整数の計算
49.
(原理ここまで)
50.
小さな整数
51.
問題無し
52.
大きな整数
53.
がんばる必要
54.
BigDecimalは どうしてる?
55.
自前!
56.
133,553 – 38,649
= 94,904 ←ココ!
57.
Decimalは?
58.
大きな整数
↓ Bignum
59.
他人の褌!
60.
副作用
61.
安定・高速
62.
いいことばっか
63.
定理1 再利用重要
64.
設計について
65.
x.sqrt
66.
BigDecimalで
平方根
67.
普通 sqrt(x) だろjk
68.
BigDecimal(”1.1”).to_s
69.
#=> 0.11E1
70.
“1.1” じゃない
の?
71.
Rails (ActiveSupport)
72.
“1.1” になるよう上書き
73.
違和感
74.
=
75.
使い辛さ
76.
Decimalでは
77.
sqrt(x) # 予定 x.to_s
# => “1.1”
78.
自然
79.
脳の互換性重要
80.
定理2 慣習重要
81.
そのうえで
82.
再発明が受け入れ られるには
83.
定理3 シンプル
84.
定理4 速い
85.
必要
86.
シンプル
87.
BigDecimal.instance_methods(false).size
vs Decimal.instance_methods(false).size
88.
50 vs 37
89.
作る方も 使う方も 楽
90.
スピード
91.
ほとんどのケース
で 数割〜数十倍以上
92.
Decimalが高速
93.
ということで
94.
再利用 慣習 シンプル 速度
95.
Decimalは 「再発明」として 十分な価値をもった
96.
再利用 慣習 シンプル 速度
97.
Happy reinvention!
98.
Decimal プロジェクト歌
Download now