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
zsh*単一デスクトップ環境最速を目指して
Search
karamaru
April 13, 2024
0
530
zsh*単一デスクトップ環境最速を目指して
zshの起動時間を300ms->20msにしたり、vimに入門したりしました。
karamaru
April 13, 2024
Tweet
Share
More Decks by karamaru
See All by karamaru
自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜
karamaru
3
590
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
3
1.4k
ぼくのかんがえたさいきょうのもっくらいぶらり! @ GoConnect#1
karamaru
0
160
詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話 @ GoConference2024
karamaru
0
81
対isuconメトリクスツール isumaru作った
karamaru
0
130
自作言語をrustでwasmにコンパイルする
karamaru
0
140
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Invisible Side of Design
smashingmag
301
51k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
A better future with KSS
kneath
238
17k
Building Adaptive Systems
keathley
43
2.7k
Building an army of robots
kneath
306
45k
Designing for humans not robots
tammielis
253
25k
Rails Girls Zürich Keynote
gr2m
95
14k
Faster Mobile Websites
deanohume
308
31k
Statistics for Hackers
jakevdp
799
220k
Transcript
Զ͕ߟ͑Δ࠷ͷ ;TI։ൃڥ LBSBNBSV
͡Ίʹ
ઌʹ݁։ൃڥΛҰ৽͠·ͨ͠ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
ઌʹ݁LBSBNBSVBMQIBEPUGJMFT
ΞδΣϯμ ɾ͡Ίʹ ɾ[TIͷىಈΛരʹ͢Δ ɾσΟϨΫτϦ ϒϥϯνҠಈΛരʹ͢Δ ɾσεΫτοϓΞϓϦΓସ͑Λരʹ͢Δ ɾϒϥζΛരʹ͢Δ ɾίʔσΟϯάΛരʹ͢Δ ɾݴޠόʔδϣϯཧΛരʹ͢Δ
;TIͷىಈΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2;TIͷىಈʹԿ̼T͔͔͍ͬͯ·͔͢ʁ UJNF[TIJDFYJU
վળͨ͠Αʂ ࣗNT͙Β͍͔͔ͬͯͨ 4IFMEPOΛ׆༻ͯ͠NT·Ͱॖͤͨ͞
0INZ[TIΊͯ4IFMEPOΛಋೖͨ͠Α ɾ4IFMEPO3VTUͷγΣϧϓϥάΠϯϚωʔδϟʔ ɾଞͷϓϥάΠϯϚωʔδϟʔ[JOJU[QMVHPINZ[TIͳͲ ɾԆಡΈࠐΈΩϟογϡΛۦͯ͠ىಈΛߴԽ͠Α͏ʂ DGIUUQTHJUIVCDPNSPTTNBDBSUIVSTIFMEPO
4IFMEPOجຊతͳ͍ํͱԆಡΈࠐΈ d[TISD ɾ[TIʹಡΈࠐ·ͤΔεΫϦϓτΛQMVHJOTUPNM͔ΒੜಡΈࠐΈ dDPOGJHTIFMEPOQMVHJOTUPNM ɾ[TIʹಡΈࠐ·ͤΔϓϥάΠϯΛࢦఆ͢Δ [TIEFGFSΛ͏͜ͱͰ ϓϥάΠϯͷΠϯετʔϧΛ ඇಉظʹ͢Δ͜ͱ͕Ͱ͖Δ
4IFMEPOTPVSDFͷΩϟογϡ CFGPSF BGUFS ɾ[TIʹಡΈࠐ·ͤΔεΫϦϓτQMVHJOTUPNM͕มߋ͞Εͳ͍ݶΓมΘΒͳ͍ ɾTPVSDF݁ՌΛΩϟογϡ͠ɺมߋ͕ͳ͍߹ͦΕΛݟΔΑ͏ʹ
Θʔ͍ʂ ີ͔ʹ[TIΛDPNQJMFͭͭ͠ʜ
[TISD៉ྷʹʂ ɾϓϥάΠϯʹMPDBMΛࢦఆ͢Δ͜ͱͰ ɾ[TIϑΝΠϧΛ៉ྷʹཧͰ͖Δ
σΟϨΫτϦɾϒϥϯνҠಈΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2ҎԼΛͲͷΑ͏ʹҠಈ͍ͯ͠·͔͢ʁ ɾ࠷ۙҠಈͨ͠σΟϨΫτϦ ɾύε͕͏Ζ֮͑ͳσΟϨΫτϦ ɾ໊લ͕͏Ζ֮͑ͳϒϥϯν ɾ(JUͷSPPUσΟϨΫτϦ ɾ֊Ҏ্ͷσΟϨΫτϦ ݕࡧ͢Δʁ MT HJUCSBODIcHSFQYYY લΕΔ͚ͲͦΕҎ্ʁ
DE ͭͣͭͬͯ֬ೝʁ DE
"πʔϧͱBMJBTͰղܾ͠Α͏ ɾ࠷ۙҠಈͨ͠σΟϨΫτϦ ɾύε͕͏Ζ֮͑ͳσΟϨΫτϦ ɾ໊લ͕͏Ζ֮͑ͳϒϥϯν ɾ(JUͷSPPUσΟϨΫτϦ ɾ֊Ҏ্ͷσΟϨΫτϦ G[G [ BMJBTΰϦԡ͠
;ۙډͨσΟϨΫτϦʹߦ͖͍ͨ࣌ ࠷ۙډͨσΟϨΫτϦʹᐆດݕࡧͰϫʔϓͰ͖Δ DGIUUQTHJUIVCDPNSVQB[
G[G෦ҰகͰҠಈ͢Δ ҾΛϑΝδʔϑΝΠϯυ݁͠ՌΛग़ྗ͢Δ ϑΝδʔDE ϑΝδʔTXJUDI DGIUUQTHJUIVCDPNKVOFHVOOG[G
ͦͷଞ͓͢͢ΊBMJBT ֊/্Γ (JUSPPUʹҠಈ
σεΫτοϓΞϓϦΓସ͑Λരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2ΞϓϦΛҠಈ͍ͨ࣌͠Ͳ͏͍ͯ͠·͔͢ʁ ຊࢦͰ͠Ύ্ͬͯʹͬͯΓସ͑ͯ·ͤΜ͔ʁ DNE UBCͰબͰ͖Δ͚Ͳ
"ΞϓϦΩʔϘʔυ͔Βݺͼग़ͦ͏ 3BZDBTUͷΑ͏ͳϥϯνϟʔπʔϧΛ͑ ίϚϯυͰΞϓϦΛىಈͰ͖Δ XJOEPXͷΈͷ։ൃ͕Δ👏
3BZDBTUͷઃఆ ɾPQUJPOͱͷΈ߹ΘͤͰίϚϯυઃఆ ɾओཁΞϓϦͷىಈͱαΠζௐ͚ͩઃఆ ɹXJOEPXͰશͯಉ͡αΠζͰॏͶΔ࣌ʹ༻ DGIUUQTSBZDBTUDPN
ϒϥζΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
WJNJVNτϥοΫύοτΛ৮Βͣʹϒϥζ͢Δ ɾWJNૢ࡞ΛϒϥβͰͰ͖ΔΑ͏ʹͨ͠$ISPNF֦ு ɾτϥοΫύοτΛ৮Δ͕࣌ؒݮΓ࡞ۀޮ্͕͕Δ
WJNJVNجຊૢ࡞ K্ LԼ Mӈ Iࠨ V্εΫϩʔϧ EԼεΫϩʔϧ GϦϯΧ࡞
ԶͷOFPWJN ίʔσΟϯάΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
7JNͰ(P։ൃͬͯͲ͏ͳͷʁ ɾ݁ߏ͍͚Δʂ ɾิͰΔ ɾߏମ[FSPGJMM͋Δ ɾఆٛࢀর͋Δ ɾಛఆؔͷςετͰ͖Δ ɾ׳ΕΔ·Ͱ͕͔͔࣌ؒΓͦ͏😇
/FPWJNࢥ ɾઃఆϑΝΠϧશͯMVBͰཧ͢Δ ɾMB[ZOWJNΛ༻͍ͯϓϥάΠϯΛԆϩʔυ͢Δ ɾૉͷݴޠαʔόʔ HPQMT Λ༻͍Δ
ϓϥάΠϯHPPMPSEBMQIBOWJN ɾىಈը໘ΛΧελϚΠζͰ͖Δ ɾॳԻϛΫ͔Θ͍͍ʂ ɾىಈঢ়ଶ͔ΒͷίϚϯυΛΧελϚΠζ ɾW
ϓϥάΠϯOWJNUFMFTDPQFUFMFTDPQFOWJN ɾG[G֦ுΛWJN্ͰͰ͖Δ ɾϑΝδʔʹWJNରΛબ͠Α͏ʂ BMQIB THJUTUBUVT HHSFQ GGJOEGJMF
ϓϥάΠϯOWJNUSFFOWJNUSFFOWJN ɾWJN্ͰUSFF͕ݟΕΔʂ ɾϑΝΠϧͷ࡞ͳͲͰ͖Δ
ϓϥάΠϯHHBOEPSMFBQOWJN ɾจࣈͷલํҰகͰϫʔϓ͢Δ ɾTMͱଧͬͨը໘ ɾTMFBߦ ɾTMVHߦ ɾTMFTߦ
ϓϥάΠϯΛਫ਼ࠪͨ͠ΓɺΩʔϚοϓΛܾΊΔͷָ͍͠ʂ ɾͬͺΓWJNNFS͔͍͍ͬ͜ʂ ɾࣄಓ۩ΛѪ͢Δ৬ਓײ ɾԿ͔ͷʹதͯ͠Δײ
͓·͚BTEGNJTFɹʹΓ͑·ͨ͠ ɾSVTUόʔδϣϯཧπʔϧ ɾ$-*ૢ࡞͕ײతͳؾ͕͢Δ ɾૣ͍ؾ͕͢Δ ɾίϚϯυΛଧͬͯͳ͚ΕࣗಈJOTUBMMͯ͘͠ΕΔͷ͕ݸਓతʹਆ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ
ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
·ͱΊϞχλʔͳ͠ڥ࠷Λࢦ͠·ͨ͠ʂʂ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ