Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Python και Μνημη

Python και Μνημη 9 Χρόνια 11 Μήνες πριν #2416

  • blackdog
  • Το Άβαταρ του/της blackdog
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 1
Γεια σας, 1η φορα γραφω σε ελληνικο φορουμ περι python.
Εχω φτιαξει ενα αλγοριθμο (συμπιεσης, συγκεκριμενα σε ανεστραμμενα αρχεια ) στο οποιο προσπαθω να βρω patterns μεσα στο αρχειο.
Ta patterns που βρισκω τα κωδικοποιω και τα αποθηκευω στην μνημη χρησιμοποιωντας dictionary(υποψιν πως ο αλγοριθμος τσεκαρει να δει αν τα patterns υπαρχουν και αν οχι τοτε τα αποθηκευει, seek/append, αλλιως προχωραει στις επομενες λεξεις).
Μετα απο καποιο σημειο η μνημη του υπολογιστη & το swap space γεμιζει με αποτελεσμα να κρασαρει.
Αυτο που εκανα στη συνεχεια ηταν να φτιαξω μια βαση δεδομενων(χρηση sqlite3) ουτως ωστε με το που γεμισει η μνημη να αρχισει το append στην βαση δεδομενων(στο δισκο). Το προβλημα ειναι πως με το που αρχισει το Ι/Ο στο δισκο ο χρονος, οπως ειναι και λογικο, αυξανεται υπερβολικα.
Ειχα χρησιμοποιησει αντι της βασης δεδομενων, το redis, που ειναι μια συμπιεσμενη βαση (η οποια χτιζεται στη RAM) αλλα και παλι ειχα memory problems.
H mysql απο οτι εψαξα και ειδα εχει πιο αργα queries σε σχεση με την sqlite3.

Για μικρα αρχεια δεν υπαρχει κανενα προβλημα εχω γρηγορα αποτελεσματα. Σε μεγαλου μεγεθους αρχεια ο χρονος εκτελεσης ειναι μεγαλο προβλημα (μπορει να τρεχει για βδομαδες).
Το μηχανημα που εχω εχει 16 GB RAM.

Μηπως ξερετε αν υπαρχει αλλη struct καλυτερη απο το sqlite3 για seek/append στο δισκο ?
Ευχαριστω.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python και Μνημη 9 Χρόνια 9 Μήνες πριν #2443

  • STRATOS
  • Το Άβαταρ του/της STRATOS
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 34
  • Ληφθείσες Ευχαριστίες 5
Έχεις προσπαθήσει η αναζήτηση να γίνεται με χρήση Multithreading, για να πραγματοποιείται πιό γρήγορα, πιστεύω ότι με τέτοια μνήμη δεν θα έχεις θέμα για κρασάρισμα, αλλά δές το και δοκίμασε το.
Τελευταία διόρθωση: 9 Χρόνια 9 Μήνες πριν από STRATOS.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.460 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου