タグ

コンパイラに関するkikuchi1201のブックマーク (5)

  • Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp

    RubyKaigi 2023 キーノートレポート Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート 最近のRubyインタプリタの進化において非常に重要なトピックの一つが、JITコンパイラの登場です。特にShopifyのJITコンパイラチームを中心に開発されたYJITは、世の中で広く使われているRailsアプリケーションを有意に高速化できるJITコンパイラとして、既にproduction-readyであると評価されており、各所で採用が進んでいます。 RubyKaigi 2023 2日目のMaxime Chevalier-Boisvertさんによるキーノートでは、開発チームがYJITを開発するにあたってどういったアプロ

    Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp
  • Cコンパイラ制作の夏期集中コースが思っていた以上にうまくいった話|Rui Ueyama

    2018年の夏に僕はセキュリティキャンプ(以下「セキュキャン」)というイベントでCコンパイラ作成コースの授業を行いました。授業はとてもうまくいったといってよいと思います。参加者は6人だったのですが、6人全員プログラミング技術がかなり飛躍的に向上したようですし、そのうち3人は期間中にセルフホスト(自分の書いているコンパイラで自分のコンパイラ自身をコンパイルできること)まで漕ぎ着けることができました。 この文章では、その授業をどのように僕が教えたのかということと、生徒にできるだけ多くのことを学んでもらって自信をつけてもらうために僕が何を気をつけていたのかという2つの点について説明します。 セキュキャンとはセキュキャンは5日間の合宿イベントで、学生を対象としてコンピュータセキュリティやプログラミングについて教えるというものです。いくつものコースが用意されているのですが、僕が受け持ったのは「集中コ

    Cコンパイラ制作の夏期集中コースが思っていた以上にうまくいった話|Rui Ueyama
  • スタンフォードのコンピュータサイエンスの授業の感想|Rui Ueyama

    いまのところ25単位分(マスター修了に必要な単位数の約半分)の授業を取ったので感想を時系列でちょっとまとめたい。昔のやつは記憶が曖昧になっているけど。 CS243 プログラムの解析と最適化 (2014Q4)要するにコンパイラの最適化の授業。前半はデータフロー解析とかでかなり実用的な感じがしたが、後半は行列計算の命令の依存関係を抽出してベクトル最適化とか、ItaniumみたいにレジスタのたくさんあるCPUでループアンローリングするみたいな話で、実際に役に立つのかはよくわからなかった。 と、そのときは思ったが、巨大な行列の計算はよくあるので、興味を持てなかった僕がダメだっただけかもしれない。 とにかく難易度が高かった。かなりがんばって夜中までやっていたつもりだけどもっと真剣に取り組むべきだったかもしれない。なにせこれが最初の授業だったのでレベル感がよくわかっていなかった。教授がドラゴンブックの

    スタンフォードのコンピュータサイエンスの授業の感想|Rui Ueyama
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • コンパイラになる※方法 — JavaScriptでコンパイラを作る - Qiita

    ※あなたもかっこいいコンパイラになれる! ある日曜日、近所の古屋によったらJohn Maeda著の「Design by Numbers」というを発見。これは90年台後半にMTIメディア・ラボで作られたDBNというプログラミング言語の解説で、コンピュータープログラムのしくみを視覚的な例を使って紹介することを目的としているらしい。 DBNのサンプルコード 出典:http://dbn.media.mit.edu/introduction.html 読み始めてすぐ、もう2016年だし(が出版されたのは2001年)Javaで元のソースコードを動かすんじゃなくてSVGで実装してブラウザで動かしたら面白んじゃないかなと思った。 そうなると「DBNからSVGに変換するコンパイラが必要になるのかな、コンパイラ書くかー」と思ったものの、そもそもコンパイラ書くって物凄く情報科学っぽい。木構造解析とかまっ

    コンパイラになる※方法 — JavaScriptでコンパイラを作る - Qiita
  • 1