Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Dobry sposób na przechowywanie danych w pamięci

Ostatnio zmodyfikowano 2013-08-19 20:36
Autor Wiadomość
roserek
Temat założony przez niniejszego użytkownika
[C++] Dobry sposób na przechowywanie danych w pamięci
» 2013-08-19 10:30:39
Witam, czy ktoś z was pisał kiedyś deamona w C++ ?? Potrzebuję napisać jakiś "podprogram" który będzie trzymał w pamięci operacyjnej dane i kiedy będę chciał je uaktualnić to będzie to robił a kiedy będę ciał dostać te dane do programu głównego to będzie je udostępniał. Zależy mi na tym żeby to działo niezależnie od konsoli, tzn program główny będzie uruchamiany i za każdym  razem musi mieć dostęp do danych, po zakończeniu programu dane dalej powinny być w pamięci i czekać. Chodzi o przyśpieszenie programu.
P-90508
jankowalski25
» 2013-08-19 10:43:52
Twoim głównym celem jest zarządzanie danymi, więc skorzystaj z bazy danych. Jeśli jeszcze nie rozwiązałeś problemu, to nie przejmuj się szybkością aplikacji. Optymalizacje należy wykonywać po napisaniu programu, a nie przed jego ukończeniem.
P-90509
roserek
Temat założony przez niniejszego użytkownika
» 2013-08-19 10:52:47
Program jest już napisany :) Teraz szukam jakiegoś rozwiązania aby go przyśpieszyć. Używam bazy danych MySQL, i właśnie tutaj jest problem, bo zbyt dużo czasu tracę na wczytanie danych z bazy ( za każdym uruchomieniem programu około 2 minuty , a będzie jeszcze dużo więcej danych więc ten czas wzrośnie ).
P-90511
jankowalski25
» 2013-08-19 10:58:32
Myślę, że to nie jest wina bazy danych, tylko programu. Użyj profilera, żeby sprawdzić, co zajmuje zbyt wiele czasu.
Frazy, które należy wpisać w wyszukiwarkę google:
P-90513
roserek
Temat założony przez niniejszego użytkownika
» 2013-08-19 11:05:47
Tzn. może nie tyle baza danych zajmuje tyle czasu ( chociaż są naprawdę duże pliki tekstowe przechowywane ), co późniejsze uruchomienie funkcji która musi przemielić te dane z bazy ( FileStorage z biblioteki opencv ). Chodzi mi teraz o to aby tej funkcji nie uruchamiać za każdym uruchomieniem programu, tylko aby to co ta funkcja zwraca było przechowywane w pamięci i w każdej chwili miałbym do tego dostęp, oraz w każdej chwili mógłym uruchomić przeładowanie danych na nowo ( jeśli coś dodam więcej do bazy )
P-90514
jankowalski25
» 2013-08-19 11:16:58
1. Utwórz nową bazę.
2. Wstaw do niej te dane, które chcesz szybko odczytywać (z poziomu programu, dynamicznie).
3. Odczytuj je z programu.

Jeśli dane zależne od głównej bazy się zmienią, aktualizujesz nową bazę i odczytujesz dane.
P-90515
roserek
Temat założony przez niniejszego użytkownika
» 2013-08-19 11:24:50
To mi nic nie da,za każdym razem potrzebuję wszystkie dane z bazy danych. Są to wektory własne, wartości własne itd.
P-90517
jankowalski25
» 2013-08-19 15:36:15
Możesz umieścić nowe dane w tej samej bazie, tylko w innym miejscu, na przykład w nowych tabelach.
P-90533
« 1 » 2
  Strona 1 z 2 Następna strona