Wpis z mikrobloga

Szukam, szukam i nie mogę znaleźć ( ͡° ʖ̯ ͡°) Chcę napisać ładną dla oka desktopową aplikację, która będzie pobierać dane z bazy danych, dajmy na to 1000 różnych próbek klucz-wartość co sekundę, a następnie rysować wykresy personalizowane przez użytkownika. Jakiej technologi użyć? Python na taką ilość danych, że się zapycha, a sam matplotlib wygląda średnio. Prócz Pythona siedzę jescze w c++, ale jak gdzie indziej znajdę lepszą wydajność i design to też nie będzie problemu. No i co ważne, aplikacja desktopowa, a nie webowa. Ktoś ma jakieś pomysły co do technologi, frameworkow, bibliotek?
#programowanie #python #cpp #c++ #javascript
  • 11
@c137:
-1000 różnych próbek klucz-wartość co sekundę, a następnie rysować wykresy personalizowane przez użytkownika
-Python na taką ilość danych, że się zapycha

No nie wiem.. Jak duze sa to dane? Jaki to format? Na pewno bedziesz utrzymywal stale 1000 zapytan na sekunde a nie tylko przy starcie aplikacji/generowaniu wykresu?
@zarev pobieram dane z bazy danych timeseries, więc ma to postać string-float, ale tutaj nie problem bo to jeszcze jakoś idzie. Dopiero jak chce wyplotować kilka parametrów z ostatnich kilku godzin to appka pochłania dużo zasobów. Poza tym zależy mi też w jakimś stopniu a designie więc matplotlib odpada. Chyba wiemy, że pyton do takich rzeczy się nie nadaję, niestety ( ͡° ʖ̯ ͡°)

@kakuter
Zapomniałem dodać, że
@c137: 1000 floatow/s to 8KB/s, ponizej 30MB na 1h grafu. To nie jest ilosc danych ktora powinna cokolwiek zawieszac. Matplotlib nie jest stworzony do real time data display, bardziej tworzenia 'ladnych' wykresow do artykulow i publikacji naukowych. Uzyj pyqtgraph lub vispy, je stworzono z mysla o performance.

Tak ogolnie jezeli to nie musialaby byc apka desktopowa to Grafana/Tableau rozwiazalyby Twoj problem
@c137: QMLa nie ruszałem, więc się nie wypowiem, natomiast nie wierzę że w samym Qt nie da się czegoś takiego zrobić, nawet jeśli w grę wchodzi dodanie zewnętrznych bibliotek jak Qwt. Może to być co prawda średnio wygodne, ale średnio wygodne jest w ogóle pisanie tego w C++. Na naukę Javy nigdy nie jest za późno :)
@zarev z Pythonem już przerobiłem chyba wszystko i wydajność zostawia i wiele do życzenia. Z grafany też korzystałem przejściowo i o taki design mi chodzi, ale niestety to webowe.

@SpinOff
A co do Javy to polecasz jakieś konkretne biblioteki? Bo teraz stoję na decyzji qt lub java. Z tym że z c++ mam już doświadczenie, a z Javą bardzo małe. Niemniej jednak nie jest to żaden wspolczynnik przy wyborze, liczy się tylko
@c137: Jeśli złożoność developmentu nie jest kryterium, to próbuj w Qt. Jeśli chodzi o wydajność to Java ma pewien koszt, ale aplikacja nie wygląda na skomplikowaną, więc nie wiem czy potrzeba tu aż C++. Jak nie chcesz wchodzić w Kotlina to JavaFX też jest spoko. Wygląd według uznania.
Co do Qt, to popatrz wcześniej na licencję na jakiej jest udostępniana i czy takie coś Ci pasuje.

Osobiście wybrałbym C++, ale to
@SpinOff jeżeli na qt osiągnę to samo co na Javie to wolę nie zaczynać z Javą i zostać przy c++. Nie jestem jeszcze doświadczony, aplikacja będzie dość rozbudowana, a co za tym idzie - sporo się nauczę. Chcę tylko wiedzieć czy qt pozwoli mi na przystępny design i niemulącą aplikację przy takiej ilości danych.