PyCharm Memory error hatası

erroshakan

Hectopat
Katılım
1 Mayıs 2020
Mesajlar
166
Çözümler
3


Merhaba arkadaşlar bugüne kadar 2.5 milyon satırlık yaklaşık 80 MB TXT veri dosyasını PyCharm Python ile işliyordum. Bugün 300 MB'lık bir veri dosyasını işlemem gerekti ama şu alttaki hatayı alıyorum. Yabancı forumlarda araştırdım bellek yetersiz vs. yazıyor, birkaç ayar yazmışlar uyguladım çalışmadı gene. 16 GB RAM var PC'de. Ne yapmam gerek? Şimdilik veriyi 2'ye bölüp yapacağım ama bu da çok zahmetli oluyor. Çözümü bilen varsa teşekkür ederim.
 

Vay be!
 
Son düzenleme:
Python 3.8.3 ile harf başına 26 Byte alıyorum.
32 bit Python kullanıyor olabilir misiniz?
64 bit üzerinde;
49 boş String. her bir char başına 8 bit ekleniyor.




Sadece bellek yönetimi olarak değil performans olarak da Python yerlerde.
C üzerinde 150ms süren bir işlem (Pi sayını 8 basamak hassasiyet ile hesaplamak), Python üzerinde neredeyse 11 saniye sürüyor. İstek üzerine kaynak kodları da paylaşabilirim.
Yavaş diye dalga geçilen Java 500ms bu arada.
 
Son düzenleme:
Python'un ne kadar yavaş olduğunu test ettiğimde ben de şok olmuştum. C++'ta 99999'a kadar olan asal sayıları yazdıran bir program yazdım. Aynı algoritmayı Python koduna döktüm. C++ 2 saniyede işi tamamlarken Python 1 dakika 6 saniyede bitirebildi.

Python:
Python:
for num in range(2, 99999 + 1):
    for i in range(2, num):
        if (num % i) == 0:
            break
    else:
        print(num)

C++:
C++:
#include <iostream>

using namespace std;

int main()
{
    for (int i = 2; i < 99999; i++)
    {
        bool isPrime = true;
        for (int j = 2; j < i; j++)
        {
            if (i%j == 0)
            {
                isPrime = false;
                break;
            }
        }

        if (isPrime == true)
        {
            cout << i << endl;
        }
    }
}
 
Son düzenleme:
32 bit Python kullanıyor olabilir misiniz?
Evet, 64 bit kurayım hemen ben de. Unutmuşum, kuracaktım.

Kodu çalıştırdım, teker teker yazıyor. Çok sinir bozucu, bir an önce C++ öğrenmem gerek benim.
Evet, 64 bit kurayım hemen ben de. Unutmuşum, kuracaktım.
64 bit installer bulamamam normal mi?
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…