ELENA-LANG / elena-lang

ELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. Rich set of tools are provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers, run-time interfaces
https://elena-lang.github.io/
MIT License
227 stars 23 forks source link

continuous issue : new ideas #619

Open arakov opened 9 months ago

arakov commented 9 months ago
bencz commented 2 months ago
arakov commented 2 months ago

Sure. I've updated, It is a list of possible ideas, so any idea is welcome

bencz commented 2 months ago

Well, the actor/virtual actor, is something that i think is realllllly awesome!!

Check this out: https://www.erlang-solutions.com/blog/heres-why-you-should-build-scalable-and-concurrent-applications-with-elixir/

At now, I'm using a lot at my current job, but, im using this framework, since here where are work, we use mainly c#

https://github.com/asynkron/protoactor-dotnet

Just to give a sample to you, i have developed a polling system, where each cell phone makes a request to this system every 5s + ack request if there is some message to the cellphone... Before i migrate the system to protoactor, we are using redis, but, we start to get a bunch of errors with network and connection lost with redis... and, a high cpu usage in each POD, because we need to use distributed locks and so on, now, using virtual actors, we have a really stable system, using much less cpu and each request we got a time reduction of 30ms in each request!!

Per hour, this system handle about of 2 milion requests

But, to have an actor model, async/await, sockets, switchs, tasks and some other stuffs from this issue, is necessary

bencz commented 2 months ago

Attributes for classes, methods and properties

arakov commented 2 months ago

They are already supported: see testCase / info for classes / functions, dto_prop / info for properties.

bencz commented 2 months ago

Oh, ok! I probably missed this update/implementation... after github migrated the dashboard, it became more difficult to see/track the commits :(