nefelim4ag / Ananicy

Ananicy - is Another auto nice daemon, with community rules support (Use pull request please)
GNU General Public License v3.0
568 stars 79 forks source link

Full rewrite in C++ #401

Open aviallon opened 3 years ago

aviallon commented 3 years ago

Hello, just to let you know, I did a full rewrite of Ananicy in C++ Code is located here: https://gitlab.com/ananicy-cpp/ananicy-cpp/

Have a nice day, Antoine Viallon

aviallon commented 3 years ago

@Nefelim4ag you should really check this out.

ghost commented 3 years ago

claps

enkeyz commented 3 years ago

What about in Go? :P Better concurrency out of the box.

aviallon commented 3 years ago

What about in Go? :P Better concurrency out of the box.

Because parallelism isn't really needed here, because I have to make bare syscalls, because I want a relatively low memory footprint, and because I can do concurrency in C++ just fine.

LinuxOnTheDesktop commented 2 years ago

@aviallon

Is the rewrite (at least intended to be) a drop-in replacement, i.e. one that requires no changes other than replacing the actual program? EDIT: oh, I see that it is (barring a bug or two).

riccardv commented 2 years ago

It works well, less resource used compared to Ananicy. Unique problem is the compiling procedure: gcc/binutils must be updated and support last C++ features. But it is a great work!

LinuxOnTheDesktop commented 2 years ago

@riccardv : cf. this issue that I opened on the ananicy-cpp tracker.

LinuxOnTheDesktop commented 2 years ago

I note that on this the original ananicy, CPU usage does seem a little high: on a system with an Intel i5-3320M @ 3.300GHz, ananicy's python process takes up to 4% of total CPU every $check_freq seconds.

kuche1 commented 2 years ago

@aviallon You are doing god's work.

RubenKelevra commented 1 year ago

@aviallon Maybe it makes sense to use a shared ruleset in form of a repository which just gets packaged into both versions? :)