Re: Speed and efficiency of implementation languages ( was Re: Thoughts on directions for a rebooted SWICG)

On 12/2/22 11:14, Aaron Gray wrote:
> On Fri, 2 Dec 2022 at 06:23, Benson Muite <benson_muite@emailplus.org 
> <mailto:benson_muite@emailplus.org>> wrote:
> 
>     It is possible to write efficient Ruby, but efficiency has probably not
>     been the focus for Mastodon, developer productivity has likely been
>     more
>     important.
Most Mastodon commits are by a single person:
https://github.com/mastodon/mastodon/graphs/contributors
> 
>     One might also consider:
>     * PHP - some activity pub implementations in this that could be
>     extended)
> 
> 
> Is an interpreted language
Yes. But has wide adoptions. Easy to deploy on small shared hosting servers.
> 
>     * Go - relatively light resource use
> 
> 
> Go is a static compiled language, but is not very efficient (possibly 
> with or without use of its runtime coroutines for piping)
It is designed for building web services, and very easy for someone to 
deploy. For example try running Mattermost on your Bannana Pi M3. There 
is a bit of a learning curve to development.
> 
>     * Kotlin - may be helpful for mobile clients, but can also be used for
>     server code
> 
> Kotlin is JVM based, its a very good language, but again its running on 
> a VM, but it is relatively efficient, but not to the degree that 
> compiled languages like C, C++ or Rust are|)
> 
> Apart from Java, JavaScript VM's are the most efficient VM's  of all the 
> VM's.
It is ok if Javascript is your preferred backend server implementation 
choice. Who else do you wish to adopt it and possibly contribute to it? 
What is the overall purpose:
Is the main aim to run a self hosted social media instance?
Is the main aim to try experimental features?
> 
> See :-
> https://haslab.github.io/SAFER/scp21.pdf 
> <https://haslab.github.io/SAFER/scp21.pdf>
> 
A nice study.  However, it is likely that the most time consuming part 
of a social media application with a moderate number of users will be 
interacting with a database and sending/receiving requests. These 
components will likely be in C/C++.
> Aaron
> 
> 
>     Other than moderation, one issue might be information credibility.  On
>     centralized platforms, it is possible to monitor fast spreading
>     information and if it is not credible and can cause harm, counter the
>     information and point out why it is not credible.  Allowing for
>     services
>     that check for false information can be helpful. 
> 
> 
>     On 12/1/22 22:23, Aaron Gray wrote:
>      > a) I read VM code bases, V8 is far far more optimized than Ruby's
>      > b) Installing Mastodon overheated my BananaPi M3 and shutdown it
>     down !
>      >

Received on Friday, 2 December 2022 08:48:00 UTC