Beta Advanced Emulator Launcher - Multi-emulator frontend for Kodi
(2021-02-28, 03:31)SpiralCut Wrote: Hey Wintermute,

I was hoping I could pick your brain for a second. I’m considering working on a new launcher plugin for Matrix and I’m trying to figure out the best way to store bulk data. When you were building AEL, why did you decide to go with XML vs SQLite?

PS, I’d PM but apparently that’s been disabled for most users at some point.

AEL primarily uses JSON and not XML for bulk data. Have a look at AML, it's a little bit more optimized that AEL at the moment. Also, this thread is a must-read for you. Apparently XML loading in Python 3 is much more optimised than in Python 2 and even faster than JSON. I use SQLite in other projects and the performance is not that great as just a raw store of the data. SQL is useful if you need to do complex queries but a launcher addon for Kodi must focus on speed and pre-compiled queries (pre-compiled queries is what I call virtual launchers in AEL, like games sorted by Title, by Genre, etc.).

EDIT: some more advice. Choose carefully when you need a list, a dictionary or a set. For example, if you frequently need to test if an element exists then you need a hashed container. The performance penalty for using the bad container for a task can be huge. Do not use generators (functions with the yield keyword). Exploit the fact that in Python all data variables are references to save memory and improve speed.
Reply


Messages In This Thread
Can You create A Sub Category? - by Wild_Tom - 2020-07-13, 04:43
Crash & Lost my launchers? - by eirrocmh - 2020-11-29, 02:25
RE: Crash & Lost my launchers? - by eirrocmh - 2020-12-19, 00:19
RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - by Wintermute0110 - 2021-02-28, 08:29
Logout Mark Read Team Forum Stats Members Help
Advanced Emulator Launcher - Multi-emulator frontend for Kodi12