Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
speed of cpan module installation
Search
Shoichi Kaji
June 24, 2015
Technology
1.3k
0
Share
speed of cpan module installation
Gotanda.pm #5 2015/06/24
Shoichi Kaji
June 24, 2015
More Decks by Shoichi Kaji
See All by Shoichi Kaji
go-exhaustruct linterのすすめ
skaji
0
120
Parallel::Pipesの紹介
skaji
2
1.1k
宿泊予約サイトにおける検索と料金計算の両立
skaji
2
4.1k
昔のGo, 今のGo ~比較, ソート編~
skaji
0
290
Perl Quiz
skaji
0
170
cpm at PerlCon 2019
skaji
0
150
Perl5 Package Manager
skaji
0
790
Internal of cpm
skaji
0
650
How to execute external programs in Perl
skaji
3
740
Other Decks in Technology
See All in Technology
アクセシビリティはすべての人のもの
tomokusaba
0
290
The 7 pitfalls of AI
ufried
0
200
freeeで運用しているAIQAについて
qatonchan
0
320
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
200
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
130
GitHub Copilot Dev Days
tomokusaba
0
150
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
3k
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
3
410
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
250
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.5k
Swift Sequence の便利 API 再発見
treastrain
1
120
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
Being A Developer After 40
akosma
91
590k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
Mobile First: as difficult as doing things right
swwweet
225
10k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
HDC tutorial
michielstock
2
650
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
KATA
mclloyd
PRO
35
15k
Embracing the Ebb and Flow
colly
88
5k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Transcript
speed of cpan module installation Shoichi Kaji
contens • installation of cpan modules • speed is important
• what can I do? • demo • conclusion
installation of cpan modules • all you have to do
is to type: • cpanm Module • How easy!
But
if you install a lot of cpan modules, it takes
long time!
speed is important • If you develop a perl project,
it is common to depends on hundreds of cpan modules • Then bootstrapping time is >10minutes • This is A PROBLEM!
What can I do? • In QA Hackathon 2015 at
Berlin, miyagawa developed cpanm2.0 “menlo”, which will be released a “regular” perl module. • OK, let’s use menlo in parallel!
Acme::CPAN::Installer https://github.com/shoichikaji/Acme-CPAN-Installer
Acme::CPAN::Installer • With cpanfile.snapshot, install cpan distributions in parallel.
• [EXPERIMENTAL] With the assumption that dependencies are statically determined, resolve distributions name and install them in parallel.
DEMO
result > ls cpanfile cpanfile.snapshot > cat cpanfile requires ‘Plack’;
> time carton install … real 0m33.857s > time cpan-installer … real 0m13.344s #### 33sec => 13sec! ####
conclusion • cpanm is nice • we can use it
as a module • If we install cpan modules in parallel, then we see speed improvement! • I propose that cpan module dependencies must be statically determined.