mirror of
https://github.com/xzeldon/htop.git
synced 2025-07-14 21:14:35 +03:00
Optimize Strings_startWith()
Use strncmp() combined with a strlen() will give better performance than a strstr in worst case. Especially when the match prefix is a constant and not a variable. While we are at it, replace the match() function in linux/Battery.c, which uses a naive algorithm, with a macro that does better job by utilizing Strings_startWith(). $ gcc --version | head -n 1 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 $ uname -m x86_64 $ size htop.old htop.new text data bss dec hex filename 137929 15112 3776 156817 26491 htop.old 137784 15104 3776 156664 263f8 htop.new Signed-off-by: Kang-Che Sung <explorer09 @ gmail.com>
This commit is contained in:
@ -29,13 +29,6 @@ Linux battery readings written by Ian P. Hands (iphands@gmail.com, ihands@redhat
|
||||
// READ FROM /sys
|
||||
// ----------------------------------------
|
||||
|
||||
/**
|
||||
* Returns a pointer to the suffix of `str` if its beginning matches `prefix`.
|
||||
* Returns NULL if the prefix does not match.
|
||||
* Examples:
|
||||
* match("hello world", "hello "); -> "world"
|
||||
* match("hello world", "goodbye "); -> NULL
|
||||
*/
|
||||
void Battery_getData(double* level, ACPresence* isOnAC);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user