Uygulama çalışırken veritabanını diziye yüklemek istiyorum, tehlikeli olur mu? Mesela 50.000 elemanlı bi dizi Ram'de kaç MB'lık alan kaplar? Nasıl hesaplayabilirim?
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
| Thread overview | |||||||
|---|---|---|---|---|---|---|---|
|
September 29, 2017 Kaç elemanlı dizi bilgisayarı kasar? | ||||
|---|---|---|---|---|
| ||||
Uygulama çalışırken veritabanını diziye yüklemek istiyorum, tehlikeli olur mu? Mesela 50.000 elemanlı bi dizi Ram'de kaç MB'lık alan kaplar? Nasıl hesaplayabilirim? -- | ||||
September 29, 2017 Kaç elemanlı dizi bilgisayarı kasar? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Peki burada String boş olarak hesaplanıyor heralde. Mesela 30 karakter barındıran string dizisi ne kadar tutar? Bu arada cevabınız ve yazdığınız kod için teşekkür ederim. -- | |||
September 29, 2017 Kaç elemanlı dizi bilgisayarı kasar? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Yani string uzunluğuna bağlı tamamen evet. teşekkürler! -- | |||
September 29, 2017 Kaç elemanlı dizi bilgisayarı kasar? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Abdullah | Dizi büyüklüğü, eleman adediyle eleman büyüklüğünün çarpımıdır. (Dizi veri yapısında ek masraf bulunmaz.)
' Ali -- | |||
September 29, 2017 Kaç elemanlı dizi bilgisayarı kasar? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Abdullah | Gösterdiğim kodda string yoktu ama string'de fark yok: eleman büyüklüğü çarpı eleman adedi. Ancak, yanılmıyorsam bazı veri tabanları dizgileri sabit uzunlukta tutuyorlar. Eğer okurken de o düzene sadık kalıyorlarsa, bütün dizgiler asıl uzunluklarından bağımsız olarak örneğin 100 bayt olabilir. Dizilerde ek masraf olmadığı doğru ama diziye erişmek için normalde kullanılan dilimlerin de kendi uzunlukları var. Her dilim bir size_t'den ve bir void*'dan oluşur. (64 bitlik ortamda 8 + 8 = 16 bayt.) Dolayısıyla, string dizilerinde onu da hesaplamak gerekir. Ek bir masraf daha var: Her dizgi için 100 bayt değil, örneğin 128 bayt ayrılabilir. (Veya 4K, vs.) Dolayısıyla her dizginin sonunda hiç kullanılmayacak olan ek bir masraf da bulunabilir. Aşağıdaki program bunu da hesaplamaya çalışıyor:
' -- | |||