Implementation progress

Program Status Notes Links
slabtop YES Leak TUI Issues#31 PR#42
top YES Leak TUI Issues#33 PR#189
pgrep YES Issues#26 PR#95
pidof YES Issues#93 PR#112
ps YES Issues#102 PR#133
pidwait YES Issues#28 PR#167
snice YES Issues#30 PR#203

Weekly progress (Weekly diary)

Week1 May 27 ~ Jun 3

Planning the execution plan, part of the program implementation depends on the common code.

During the week, there was just enough time left for me to do this because of my graduation project stuff. But after that I'll have a lot of time to focus on implementing the program :).

I made pgrep, pidwait, pidof, ps as a group and snice, skill as another group of programe implementation, because these program have common code and relative to others.

Prior to this week, I implemented the slabtop command as a way to familiarize myself with the community workflow.

https://github.com/uutils/procps/issues/31

https://github.com/uutils/procps/pull/42

Week2 Jun 4 ~ Jun 11

This week aims to implement pgrep first and split common code for proc program group, I opened a pull request for this action and I continued to improve the initial very rough implementation with my mentors. Thanks to their help, I learned a lot of useful uucore functions and further deepened my understanding of the general logic of the implementation of the uutils family of utilities.

And other things in this week, I’m trying to improve the performance of common code of proc program group codebase. In earlier implementations, pgrep's codebase had poor performance and ran slower than the GNU implementation. After the performance improvement, the codebase much faster than before but it also a bit lower than GNU implementation.

https://github.com/uutils/procps/issues/26

https://github.com/uutils/procps/pull/95

Week3 Jun 12 ~ Jun 18

This week's goal was to merge pull requests about pgrep into the project. With mentors’ sugestion I think there are something can be better such as the logic in uumain of pgrep and there are some better conceptual model. So I’m working on rework it.

Also, I'm trying to add a cache to PidEntry to improve performance: since some data is processed too slowly and manipulated too often, adding a cache to it will help to the performance.

Week4 Jun 19 ~ Jun 26

This week I’m working on move process.rs from procps/pgrep/process.rs to uutils/uucore/process.rs .