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
490
zsh*単一デスクトップ環境最速を目指して
zshの起動時間を300ms->20msにしたり、vimに入門したりしました。
karamaru
April 13, 2024
Tweet
Share
More Decks by karamaru
See All by karamaru
自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜
karamaru
3
560
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
3
1.4k
ぼくのかんがえたさいきょうのもっくらいぶらり! @ GoConnect#1
karamaru
0
150
詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話 @ GoConference2024
karamaru
0
76
対isuconメトリクスツール isumaru作った
karamaru
0
120
自作言語をrustでwasmにコンパイルする
karamaru
0
130
Featured
See All Featured
Code Review Best Practice
trishagee
68
18k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
220
GitHub's CSS Performance
jonrohan
1031
460k
Being A Developer After 40
akosma
90
590k
Building Applications with DynamoDB
mza
95
6.5k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Adopting Sorbet at Scale
ufuk
77
9.4k
Writing Fast Ruby
sferik
628
62k
Side Projects
sachag
455
42k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
How STYLIGHT went responsive
nonsquared
100
5.6k
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ΛಋೖɺݴޠόʔδϣϯཧΛָʹ