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
Compact GC Head
Search
INADA Naoki
June 25, 2018
Technology
0
8.1k
Compact GC Head
Python の GCヘッダを減らすために今挑戦していることを紹介します。
INADA Naoki
June 25, 2018
Tweet
Share
More Decks by INADA Naoki
See All by INADA Naoki
Python 3 and Unicode
methane
0
94
New dict implementation in Python 3.6 (KLab Tech Meetup 2017-09-04)
methane
1
710
New dict implementation in Python 3.6
methane
2
1.5k
Other Decks in Technology
See All in Technology
プロジェクトマネジメント実践論|現役エンジニアが語る!~チームでモノづくりをする時のコツとは?~
mixi_engineers
PRO
3
180
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
220
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.2k
OSMnx Galleryの紹介
mopinfish
0
150
継続戦闘能⼒
sansantech
PRO
0
220
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.2k
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
14
2.1k
MCP で繋ぐ Figma とデザインシステム〜LLM を使った UI 実装のリアル〜
kimuson
2
1.3k
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
360
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
490
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
270
Featured
See All Featured
Faster Mobile Websites
deanohume
307
31k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for humans not robots
tammielis
253
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How STYLIGHT went responsive
nonsquared
100
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Designing for Performance
lara
608
69k
Transcript
$PNQBDU 1Z($@)FBE UDGNNFFUVQ *OBEB/BPLJ !NFUIBOF
͓લ୭Α w Ҵాɹ࠸ !NFUIBOF w ,-BC*OD w 1ZUIPO$PSF%FWFMPQFS w
$PNQBDU0SEFSFE%JDU w .Z42-%SJWFST (P 1ZUIPO
1ZUIPOͷ($ wࢀরΧϯτ w॥ࢀর($ɹˡࠓͷ wࢼݧআΞϧΰϦζϜ w ʮΨϕʔδίϨΫγϣϯ ࣗಈతϝϞϦཧΛߏ͢Δཧͱ࣮ʯ IUUQTXXXBNB[PODPKQEQ
ࢼݧআͷ֓ཁ w ΦϒδΣΫτͷू߹Λ८ճͯ͠ɺू߹ͷΦϒδΣΫτؒ ͷࢀরͷ͚ͩࢀরΧϯτΛݮΒͯ͠ΈΔ w ࢀরΧϯτ͕ͬͯΔΦϒδΣΫτ֎͔Βࢀর͞Εͯ ͍Δˠϧʔτʢੜଘʣ w ϚʔΫˍεΠʔϓͷΑ͏ʹɺϧʔτ͔Β࠶ؼతʹੜଘΦϒ δΣΫτΛܾఆ
1ZUIPOͷ࣮ ϫʔυ _gc_head *gc_next; _gc_head *gc_prev; ssize_t gc_refcnt;
HD@OFYU HD@QSFW w ํϦϯΫϦετ w ֤ੈͷΦϒδΣΫτͷू߹Λཧ w ҙͷΦϒδΣΫτΛ0 Ͱ֎ͤΔ
HD@SFGDOU w ࢼݧআ༻ࢀরΧϯτ w ෛͷఆ w 53"$,&% ΑΓݹ͍ੈͷΦϒδΣΫτ
w 6/53"$,&% ཧ֎ʣ w 5&/5"5*7&-:@6/3&"$)"#-& আީิ w 3&"$)"#-& ੜଘ֬ఆ w CJUΛผ్ͷϑϥάͰར༻
None
ϚʔΫϑΣʔζ w HDMJTUΛ८ճͯ͠HD@SFGDOU͕ w VOSFBDIBCMFϦετʹҠಈ আީิ w ੜଘ֬ఆɺΦϒδΣΫτͷࢀরઌνΣοΫ w
ࢀরઌ͕VOSFBDIBCMFͳΒHDMJTUͷඌʹ෮ؼ w HDMJTUͷऴʹ౸ୡͨ͠ʹ࠶ؼతͳϚʔΫྃ
$PNQBDU($)FBE wHD@QSFWͱHD@SFGDOUͰϝϞϦڞ༗ w HD@QSFWϦετ͔ΒཁૉΛআ͢ΔͨΊ w ࢼݧআதॱํ८ճ͚ͩͰ͍͍ w ϚʔΫϑΣʔζͰHDMJTU VOSFBDIBCMFؒҠಈ w
ϋοΫͰ͖ͦ͏ʁ
None
)BDLJOHNBSL w ॳظঢ়ଶHD@OFYUͱHD@SFGDOUͷΈͷ୯ํϦϯΫϦ ετ w ҰͭखલΛ֮͑ͳ͕Β८ճ w ੜଘ֬ఆͳΒHD@SFGDOUΛ௵ͯ͠HD@QSFWQSFW w VOSFBDIBCMFʹҠಈ͢Δͱ͖HD@SFGDOUΛ௵͢
w ෮ؼ࣌HD@SFGDOUͰ୯ํϦϯΫϦετԽ
ࢀরઌʹύλʔϯ͋Δɻ Ͳ͏ݟ͚Δ͔ɻ
HD@SFGDOU ࠶ w ࢼݧআ༻ࢀরΧϯτ w ෛͷఆ w 53"$,&%
ΑΓݹ͍ੈͷΦϒδΣΫτ w 6/53"$,&% ཧ֎ʣ w 5&/5"5*7&-:@6/3&"$)"#-& আީิ w 3&"$)"#-& ੜଘ֬ఆ w CJUΛผ్ͷϑϥάͰར༻
ঢ়ଶμΠΤοτ w 53"$,&% 6/53"$,&% w HDMJTUʹೖ͍ͬͯΔ͔Ͳ͏͔ͰϏοτඞཁ w HD@OFYU/6--Ͱཧ͞ΕͯΔ͔அ w 5&/5"5*7&-:@6/3&"$)"#-&
3&"$)"#-& w Ϗοτඞཁ w CJUΛผ్ͷϑϥάͰར༻ w ߹ܭϏοτඞཁ
5BHHFE1PJOUFS w ϙΠϯλมʹೖΔΞυϨεͷ͏ͪɺ͕ʢओʹʹʣݻ ఆ͍ͯ͠ΔϏοτΛϑϥάͳͲʹར༻͢Δ w ϑϥάΛͬͯϙΠϯλ͡Όͳ͍ΛೖΕΔ w ͍จࣈྻ CJUͳΒόΠτ·Ͱʁ
w w ྨࣅͷٕज़ුಈখͷ/B/ͷੑΛͬͨ /B/#PYJOH
ΞυϨεͷະ༻CJU w Y@ͷΞυϨε࣮࣭ͬͯόΠτͰʁ w ࠷ۙόΠτʹ֦ு͞ΕͨΒ͍͠ w ্ҐϏοτΛ৮Δͷকདྷੑʹෆ҆ w ͦͦΞʔΩґଘ w
.BMMPD݁Ռ͕όΠτBMJHOFE w ԼҐCJU௵ͤΔ w ϚΠφʔͳΞʔΩˍNBMMPD࣮Ͱෆ҆
HD@QSFWHD@SFGT HD@QSFWHD@SFGT 6OSFBDIBCMF $PMMFDUJOH طଘϑϥά
ࢀরΧϯτͷ্ք w HD@SFGDOU͕Φʔόʔϑϩʔ͠ͳ͍͔ߟ͑Δ w Ϣʔβʔۭؒͷ֤ϙΠϯλ͕ͭͷࢀরΛ࡞Δ w ΞυϨεۭ͕ؒCJUͰɺϙΠϯλ͕CZUFͳΒɺϙΠϯλ ͷͷ্ք?
w 0, w ΞυϨεۭ͕ؒCJUͰɺϙΠϯλ͕CZUFͳΒɺϙΠϯλ ͷ্ք? w CJU༨ͬͯͳ͍ w Ϣʔβʔۭؒී௨ʹ(#ʢCJUʣʹͳΔ
݁ w CJUڥͳΒ w ࢀরΧϯλ࣮֬ʹCJU༨ͬͯΔ w ΄΅࣮֬ʹϙΠϯλͷԼҐCJUΘΕͳ͍ w CJUڥͩͱ w
ࢀরΧϯτCJU༨ͬͯͳ͍ w CZUFΞϥΠϯͷNBMMPD࣮ͷةݥੑ͕૿͑Δ
ࠓޙͷํ w HD@OFYUͷԼҐCJUར༻͢Δ w HD@QSFWΛVJOU@Uʹ͢Δ w $PNQBDU࣮ͱطଘ࣮ΛΓସ͑Δ w CJUڥͰσϑΥϧτͰैདྷ࣮
ਓࡐืू w$1ZUIPOͷ։ൃʹڵຯ͕͋Δਓ wQZUIPOKQͷEJTDPSEαʔόʔʹ DPSFEFWνϟϯωϧ࡞Γ·ͨ͠ɻ wটίʔυ[VNDX