SlideShare a Scribd company logo
Submit Search
Upload
TIme::Moment+Time::Strptime=
Report
Share
karupanerura
Software Developer at D
Follow
•
1 like
•
2,189 views
1
of
21
TIme::Moment+Time::Strptime=
•
1 like
•
2,189 views
Report
Share
Download Now
Download to read offline
Technology
Kansai.pm #14
Read more
karupanerura
Software Developer at D
Follow
Recommended
DateTimeX::Moment by
DateTimeX::Moment
karupanerura
934 views
•
61 slides
AWSで透過プロキシをやってみた by
AWSで透過プロキシをやってみた
kuro kuro
3.9K views
•
21 slides
Java hotspot vmにおけるGCの振る舞い by
Java hotspot vmにおけるGCの振る舞い
Di Ai
1.8K views
•
10 slides
LionでOpenMP by
LionでOpenMP
14159265
1.8K views
•
9 slides
OSSの敵になるのもいいじゃない by
OSSの敵になるのもいいじゃない
lestrrat
69.4K views
•
53 slides
最近流行りのビルドツールとは by
最近流行りのビルドツールとは
Takahiro Maki
906 views
•
13 slides
More Related Content
More from karupanerura
Perl5 VS JSON by
Perl5 VS JSON
karupanerura
1.3K views
•
33 slides
コンテキストと仲良く by
コンテキストと仲良く
karupanerura
3.3K views
•
38 slides
The plan of Aniki 2.0 by
The plan of Aniki 2.0
karupanerura
4.4K views
•
36 slides
Aniki::Internal by
Aniki::Internal
karupanerura
7.9K views
•
18 slides
The Crystal language *recently* update by
The Crystal language *recently* update
karupanerura
776 views
•
32 slides
KOWAZA for mackerel by
KOWAZA for mackerel
karupanerura
3.4K views
•
36 slides
More from karupanerura
(20)
Perl5 VS JSON by karupanerura
Perl5 VS JSON
karupanerura
•
1.3K views
コンテキストと仲良く by karupanerura
コンテキストと仲良く
karupanerura
•
3.3K views
The plan of Aniki 2.0 by karupanerura
The plan of Aniki 2.0
karupanerura
•
4.4K views
Aniki::Internal by karupanerura
Aniki::Internal
karupanerura
•
7.9K views
The Crystal language *recently* update by karupanerura
The Crystal language *recently* update
karupanerura
•
776 views
KOWAZA for mackerel by karupanerura
KOWAZA for mackerel
karupanerura
•
3.4K views
Optimize perl5 code for perfomance freaks by karupanerura
Optimize perl5 code for perfomance freaks
karupanerura
•
5K views
Technology for reduce of mistakes - うっかりをなくす技術 by karupanerura
Technology for reduce of mistakes - うっかりをなくす技術
karupanerura
•
9.7K views
router-simple.cr by karupanerura
router-simple.cr
karupanerura
•
1.7K views
Why we use mruby with Perl5? by karupanerura
Why we use mruby with Perl5?
karupanerura
•
4.7K views
はかたの塩 by karupanerura
はかたの塩
karupanerura
•
948 views
Gotanda.pmの紹介 by karupanerura
Gotanda.pmの紹介
karupanerura
•
1.2K views
すいすいSwift by karupanerura
すいすいSwift
karupanerura
•
1.9K views
Perlにおけるclass実装パターン by karupanerura
Perlにおけるclass実装パターン
karupanerura
•
1.9K views
モジュール開発におけるぼくの試行錯誤 by karupanerura
モジュール開発におけるぼくの試行錯誤
karupanerura
•
4.2K views
Aniki - The ORM as our great brother. by karupanerura
Aniki - The ORM as our great brother.
karupanerura
•
2.2K views
Perl5 meta programming by karupanerura
Perl5 meta programming
karupanerura
•
3.7K views
mysqlcasual6-next-key-lock by karupanerura
mysqlcasual6-next-key-lock
karupanerura
•
12.4K views
dwangocpp1-lt by karupanerura
dwangocpp1-lt
karupanerura
•
1.7K views
engineer-life by karupanerura
engineer-life
karupanerura
•
773 views
Recently uploaded
IPsec VPNとSSL-VPNの違い by
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
590 views
•
8 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdf
icebreaker4
405 views
•
13 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development site
Atomu Hidaka
90 views
•
41 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
78 views
•
29 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない
Takuya Matsunaga
27 views
•
17 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
135 views
•
64 slides
Recently uploaded
(12)
IPsec VPNとSSL-VPNの違い by 富士通クラウドテクノロジーズ株式会社
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
•
590 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdf
icebreaker4
•
405 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development site
Atomu Hidaka
•
90 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
•
78 views
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない
Takuya Matsunaga
•
27 views
定例会スライド_キャチs 公開用.pdf by Keio Robotics Association
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
•
135 views
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium
•
66 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
32 views
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Hitachi, Ltd. OSS Solution Center.
•
101 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium
•
27 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門
mkoda
•
479 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
•
158 views
TIme::Moment+Time::Strptime=
1.
Kansai.pm #16 id:karupanerura Time::Moment + Time::Strptime =
💪
2.
About me • Kenta
SATO (id:karupanerura) • Perl/Go/Swift/Kotlin/Java/Crystal/C99/etc.. • Gotanda.pm Author • Senior Engineer at Mobile Factory, Inc. • WebApp/iOS/Android/Operation/etc..
3.
日時処理
4.
日時処理 • 日付や時刻に関する処理 • 単純な計算にならない •
タイムゾーン • うるう年/うるう秒 • 月またぎ
5.
タイムゾーン • 時差を管理する概念 • UTC(世界標準時)からの時差=>オフセット •
地域ごとに決まっている • (現在の)日本だったら全域JST-9(Asia/Tokyo) • サマータイムもタイムゾーンで管理
6.
Yokohama.pm #10 http://www.slideshare.net/karupanerura/yokohamapm-10
7.
Time::Moment
8.
Time::Moment • 日時処理モジュール • シンプル •
高速 • 不変性
9.
シンプル • 固定オフセットのみをサポート • サマータイムなどは考慮しない •
秒ベースで計算
10.
高速 • 基本的に全ての処理がCで書かれている • c-dt
というCライブラリのPerlバインディング
11.
不変性 • 同じインスタンスは必ず同一の日時を指す • 副作用が最小限になる
12.
どれくらい速いか => DEMO
13.
弱点
14.
Time::Momentの弱点 • 任意フォーマットの日付のparseが不可能 • from_stringはあるがフォーマットは固定 •
システムのタイムゾーン/ロケールに依存
15.
Time::Momentの弱点 • 任意フォーマットの日付のparseが不可能 • from_stringはあるがフォーマットは固定 •
システムのタイムゾーン/ロケールに依存 ↑ Time::Strptime ↑DateTimeX::Moment
16.
Time::Strptime
17.
Time::Strptime • 拙作の汎用のstrptime実装 • Pure
Perlで動く • 高速 • 昨日、1.00が出ました
18.
YAPC::EU 2015http://www.slideshare.net/karupanerura/optimize-perl5-code-for-perfomance-freaks
19.
Time::Momentと組み合わせる • Time::Momentでstrptimeできるようになる! • 弱点がひとつ解決!
20.
DEMO
21.
まとめ • Time::Momentは良い • Time::Strptimeと組み合わせると最強 •
💪 💪 💪 💪 💪 💪 💪 💪 💪 💪 💪 💪 💪 💪 💪