アカウント名:
パスワード:
>リポジトリのサイズが大きくなったり、これはわかる。しかし>各種操作に時間がかかるエーナンデー
オブジェクトはハッシュでIDつけられて変更の検出とかに使われてると思ってた。つまり一度ハッシュを取れば本体はディスクの肥やしになるだけで処理時間とは無関係だと思ってた。
そして、サイズが関係する操作としてdiffとかpullとかmergeとか色々あるけどblobにdiffとかないわぁ。何か自分が知らない機能要件ではオブジェクトを別管理するという対策で処理が効率化したりするの?そこんとこ誰か教えて。
gitはaddしたタイミングでaddした部分全体のスナップショットを持ってる。つまり、diffしてないんだけど、いつdiffが呼ばれても高速でdiffが表示できる準備が整っている。こういうローカルなスナップショットはその都度作ったり消したりするんじゃなくて、ガベージコレクションで運用されてるから、要らなくなった瞬間に消えうせるわけじゃない。
あと、pullやpushで同期するときはネットを通る部分にzlibで圧縮をかけていて、これも遅くなる原因だったような。
機能要件ありがとう。でも、その上でもう一度聞くけど、それはオブジェクトを別管理するという対策で処理が効率化したりするの?
横から。
Git LFS のドキュメントと #2794073 を併せて考えれば自明なのでGit が各種処理で実際に何をやっているか理解されていないように思います。
Git / Git LFS のコードや内部解説のドキュメントに少しだけでも目を通すことをお勧めします。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
教えて (スコア:0)
>リポジトリのサイズが大きくなったり、
これはわかる。しかし
>各種操作に時間がかかる
エーナンデー
オブジェクトはハッシュでIDつけられて変更の検出とかに使われてると思ってた。
つまり一度ハッシュを取れば本体はディスクの肥やしになるだけで処理時間とは無関係だと思ってた。
そして、サイズが関係する操作としてdiffとかpullとかmergeとか色々あるけどblobにdiffとかないわぁ。
何か自分が知らない機能要件ではオブジェクトを別管理するという対策で処理が効率化したりするの?
そこんとこ誰か教えて。
Re: (スコア:0)
gitはaddしたタイミングでaddした部分全体のスナップショットを持ってる。つまり、diffしてないんだけど、いつdiffが呼ばれても高速でdiffが表示できる準備が整っている。こういうローカルなスナップショットはその都度作ったり消したりするんじゃなくて、ガベージコレクションで運用されてるから、要らなくなった瞬間に消えうせるわけじゃない。
あと、pullやpushで同期するときはネットを通る部分にzlibで圧縮をかけていて、これも遅くなる原因だったような。
Re: (スコア:0)
機能要件ありがとう。
でも、その上でもう一度聞くけど、それはオブジェクトを別管理するという対策で処理が効率化したりするの?
Re: (スコア:0)
横から。
機能要件ありがとう。
でも、その上でもう一度聞くけど、それはオブジェクトを別管理するという対策で処理が効率化したりするの?
Git LFS のドキュメントと #2794073 を併せて考えれば自明なので
Git が各種処理で実際に何をやっているか理解されていないように思います。
Git / Git LFS のコードや内部解説のドキュメントに少しだけでも目を通すことをお勧めします。