タグ

勉強と仕組みに関するtomoakinagaharaのブックマーク (2)

  • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

    個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後当に自分が必要なやつだけ sparse-

    git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
  • 原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita

    はじめに PHPはプログラミング言語です。1995年に世に出てからこれまで多くの開発者に利用され、様々なソフトウェアを生み出してきました。 学習コストが低く手軽に実行できるトレードオフとして、バグを生み出しやすいコードになりやすかったりパフォーマンス上の懸念から大規模なアプリケーション開発に使うものではないという認識は結構あるのではないかと思っています。 しかしながら2021年現在の最新のメジャーバージョンであるPHP8では、機能面やパフォーマンス面においても大規模開発に対して十分使えるものになっていると個人的には思ってます。 今回は今PHPを使っている開発者やこれからPHPを使う予定の方、あるいは「PHPなんて興味ないけどどういう仕組みなのかは見てやろうじゃないか」と思っているような方にも、PHPの内部ってこういう感じで動いているんだっていうイメージを掴んで頂けたらと思って記事にしてみま

    原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita
  • 1