Re: Fixing things Akonadi doesn't with some SQL-fu

Daniel Vrátil <[email protected]>
Newsgroups gmane.comp.kde.users.pim
Organization KDE
Message-ID <1895515.ELReh1g3DH@mjollnir>
On Thursday, 22 March 2018 12:36:48 CET René J.V. Bertin wrote:
> On Thursday March 22 2018 11:58:18 Daniel Vrátil wrote:
> > having the whole thing run as a single-process application is
> > certainly possible and would not require any changes in the existing
> > architecture.
> 
> I guess that would increase the memory footprint of that single process by a
> few orders of magnitude, 

Not neccesarily. On mobile you usually only have a single mail account, maybe 
a calendar and you keep around only limited history, so the memory impact is 
smaller in general. Whether you have 5 processes using less memory each or one 
process using more memory does not really matter. And of course an opportunity 
to make Akonadi less memory-hungry in general (although I'm amazed that people 
complain about Akonadi using couple hundred megs of memory, but are completely 
OK with shitty Electron-based desktop apps using half a gig of RAM each).

Assuming Android, I can imagine having Akonadi Server+agents as a single 
process that performs background syncs and a separate GUI process that talks 
to it.

> but wouldn't it also remove whatever bottleneck
> there is currently because of interprocess communications?

Our IPC is extremely fast these days, usually the slowest part is the database 
right now, which we are working on with Pablo.

> >I don't know how Mac bundles exactly work at runtime, but I suppose that as
> 
> Nothing special, everything is simply set up such that required resources
> are found inside the bundle (which is just a directory structure). The
> dynamic linker/loader does have a few mods to make it possible to move the
> bundles around freely (think relative rpath entries) and there are SDK
> functions for finding an app bundle, its info dict etc. But basically you
> can achieve the same thing under Linux - GNUStep does for instance.
> 
> That also means everything doesn't have to be inside the app bundle; the
> minimum is the binary and an info dict (Info.plist) that informs the system
> what and how to do with the bundle in order to launch it.
> >long as other apps can access the same DBus session as the Kontact.app
> >bundle
> That's probably the main hurdle. All-encompassing, standalone means everyone
> includes and runs their DBus, so this approach will only allow independent
> applications (or application suites) that cannot talk among each other via
> DBUS.
> 
> So yeah, it's possible, but at the very least it'd need an independent DBus
> install if that's the only interface through which interaction with other
> applications takes place. FWIW, the current KDEPIM4 implementation in
> MacPorts uses a standard Unix way of installing stuff using a minimal app
> bundle for the front-ends and everything else installed in traditional
> fashion under a $prefix where all dependencies are also installed. That's
> also how I'd implement the KDEPIM5 ports.
> >interaction, then it's hardly something you can blame Kontact or Akonadi
> >architecture for.
> 
> I'm not sure "blame" is the appropriate term, whom else could I "blame" for
> the fact that Kontact/Akonadi chose to use DBus instead of something
> else?;)

Well, I'm not porting Akonadi away from DBus just because Mac cannot get it 
right ;-)

> 
> R


-- 
Daniel Vrátil
www.dvratil.cz | [email protected]
IRC: dvratil on Freenode (#kde, #kontact, #akonadi, #fedora-kde)

GPG Key: 0x4D69557AECB13683
Fingerprint: 0ABD FA55 A4E6 BEA9 9A83 EA97 4D69 557A ECB1 3683
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEECr36VaTmvqmag+qXTWlVeuyxNoMFAlqzrUkACgkQTWlVeuyx
NoOodA/7BBiturbgtUbbeFJX19YLGYBJ9oKxg5APaROzQDLEJZJnUEdolr5zl1g9
sDJHIewD9wOJ8zmxMTGdHQdd/t1w8aoApZnwR4p1B+ZesNffmlmIpC9XY745Ky9l
5EMX7MmBf+3OdOXNk3Wil5wbyocYaknjWvka4h9HdmnmqJSvfFTeHKFhdk3d5y+T
P2WeKkqb68h81Mtz9y9v/R1deP+9lq1VZxDWkeMCqfXyWsw2/4etvV0sG15KoiLB
leyZ/nHUwniFUqGf7z1a6tLlI5UB8+mgb8qGNH5UfnSP91ySClv7YWQIBz1vjlbT
yexLNHGPKr1C+fasyVRRkWkTr2W3lDDUxdr4K+F4dhTt6BKKzzjd6rUYbzQf8jSL
W9vGvF7RthYuL2EGccXWRRqCT2xKDDFdT84Aj1Ibq9logCfj0p6ZGYCusbfW8P9K
vDun1ECbUF4Dtk/IesRe8v/j2op2X6Ny0hkU4UfoYC+9vWQi+0wMDxNhzfLXo/3g
bfISYTXztM7I3PSS+J8w+1ZpPLPXj01oTyKfLyUNeINNkJL/3DDbwUHV0UH8oj3Q
VACYVwEtpV8tsRSIQZkLxfbQQT3+Jzoh4CFPGpKepcs2PdpeVLlX9QPynTLjCuJI
yLvRVm+0v23bVVR+vs4dRnxsxqbjaTbouaAbgItZ0+UFu257pJg=
=5QaG
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.