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
20120823a
Search
Hidemi KAWAI
August 23, 2012
Programming
0
890
20120823a
旧式PC利用のススメ
[東京]第一回首都圏勉強会(APASEC) で発表
Hidemi KAWAI
August 23, 2012
Tweet
Share
More Decks by Hidemi KAWAI
See All by Hidemi KAWAI
C言語でメモリ管理を考えた話
hkawai
0
590
超軽量型プログラミング言語 ES-BASIC
hkawai
0
1.5k
OSASK計画が考える新しいプログラミング言語の構想
hkawai
1
1.2k
OSECPU-VMの資料
hkawai
0
610
赤間仁志さんのプラレールによる半加算器
hkawai
0
720
20130806a
hkawai
0
300
20120326a
hkawai
1
1k
Other Decks in Programming
See All in Programming
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
210
Scaling your build logic
antalmonori
1
100
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
CNCF Project の作者が考えている OSS の運営
utam0k
1
130
Azure AI Foundryのご紹介
qt_luigi
1
210
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
960
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
Amazon Nova Reelの可能性
hideg
0
210
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
310
Оптимизируем производительность блока Казначейство
lamodatech
0
960
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Being A Developer After 40
akosma
89
590k
Optimising Largest Contentful Paint
csswizardry
33
3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
How GitHub (no longer) Works
holman
312
140k
Visualization
eitanlees
146
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Pragmatic Product Professional
lauravandoore
32
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
旧式PC利用のススメ セキュアなOSを作ろうクラス講師 川合 秀実 (サイボウズ・ラボ)
自己紹介 1975年生まれ 物性物理学で修士号を取得 OSASKの作者 「30日でできる!OS自作入門」著者
セキュリティ&プログラミングキャンプ講師 セキュリティキャンプ講師 サイボウズ・ラボの社員
背景 (わたしの子供時代) (経済的な理由で)古いコンピュータを使っていた 友人たち CPU:10MHz, MEM:640KB わたし
CPU:1MHz, MEM:64KB 友人たちがうらやましい → なんとか手に入れる すると友人たちは 100MHz, 8MB やっぱり追いつけない・・・ ゲーム作り競争 金がないのなら頭で勝負だ! (10倍の性能差を乗り越えて) 勝ったり負けたり
経過 (結果としての)私のプログラミングスタイル ハードウェアの仕様をすみずみまで理解 長所を生かす方向で全力でやる つまり機種依存が大好き
というかそうしないとまず勝てない! そして・・・ i386のセグメンテーションとページングに感動 64KBの壁がなくなった!すげえ ページングが使えるなんて! 超わくわくしてOSを作る → OSASK 仮想86とTOWNSに感動して98エミュレータも作った
世間の流れ 機種依存はよくない 移植性が大事だ 高速化とか意味ない ハードウェアはどんどん高速化していくから、 ソフトウェアは高速化をがんばる必要はない
むしろ読みやすいソースを書くべき レジスタ直交性重要、専用レジスタで速くするな 私のスキルが全否定される時代に しかし私はプログラミングスタイルを変えず、 古いPCでも快適に動作することを常に自分に課した
結果 世間からは高速化テクニックが忘れられていく ロストテクノロジー? 私には高速化テクニックが蓄積された 「普通の人にできることはできないが、 普通の人にできないことができる」
そして、高速化が認められる時代がやってきた!
成果 大学院での研究成果: 計算機シミュレーションの高速化 アルゴリズムの見直しで最高1000倍速 サイボウズ・ラボでの成果:
製品A: 実質4倍速 (部分84倍速) 製品B: 実質2倍速 (部分4倍速) 製品C: 実質100倍速 (部分8000倍速) 高速化のプロとして活躍中?!
結論 だから旧式のPCを使いましょう!(笑) ほかのメリット: お金がかかりません リサイクルにも貢献しています
貧しい人、弱い立場の人の気持ちが理解できます デメリット: みじめな思いを何度もします 最先端の流れについていけなくなることもあります リソースが十分にあっても、せこせこしてしまいます