Mengapa git sangat lambat dengan file besar?


8

Saya mencoba menggunakan git untuk mengelola gambar saya (backup / ambil foto). Seluruh perpustakaan beberapa GB. Sebagian besar file adalah JPG 2-3M. Ketika saya menambahkan file ke dalam repositori, sepertinya butuh beberapa hari. Pemanfaatan CPU selalu dekat 100%.

Apakah ada alasan mengapa git harus lambat pada file besar?

ps Saya tahu git tidak dirancang untuk ini.

Jawaban:


7

Git secara default mengkompres file. JPEG secara default sudah dikompresi. Bukannya itu file besar, itu file terkompresi.

Anda akan melihat efek yang sama menambahkan file ZIP ke repositori git.

EDIT: Ada utas menarik di https://stackoverflow.com/questions/7102053/git-pull-without-remotely-compressing-objects tentang kompresi.


1
Bagaimana saya bisa memberi tahu git untuk tidak mengkompres file? Saya tidak perlu efisiensi ruang. Saya ingin itu secepat mungkin. Terima kasih!
woodings

2
Ada sejumlah sakelar yang dapat Anda gunakan untuk bermain git config, termasuk core.compressiondan pack.window. Melihat saya belum pernah benar-benar mencoba menjalankan git tanpa kompresi, YMMV. Silakan kirim apa yang Anda temukan, untuk membantu kami semua belajar dari pengalaman Anda.

@ Eroen, Anda membuat poin yang bagus. Saya memilih komentar Anda.

2
Git juga membuat (dan memeriksa) sha1 hash dari setiap file setiap kali menggunakannya, yang dapat memakan waktu juga untuk file besar.
Eroen

3
@ RandolphWest: Bagus, tapi salah. kompresi zlib dapat dimatikan oleh $ git set core.compression 0. sha1 adalah puluhan MiB per detik, tetapi mereka mungkin mengganggu buruk dengan kondisi memori rendah.
Eroen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.