Messages in this thread | | | Date | Wed, 19 Aug 2020 03:29:07 +0100 | From | Al Viro <> | Subject | Re: file metadata via fs API |
| |
On Tue, Aug 18, 2020 at 11:51:25AM -0700, Linus Torvalds wrote:
> I think people who have problems parsing plain ASCII text are just > wrong. It's not that expensive. The thing that makes /proc/mounts > expensive is not the individual lines - it's that there are a lot of > them.
It is expensive - if you use strdup() all over the place, do asprintf() equivalents for concatenation, etc. IOW, you can write BASIC (or javascript) in any language...
systemd used to be that bad - exactly in parsing /proc/mounts; I hadn't checked that code lately, so it's possible that it had gotten better, but about 4 years ago it had been awful. OTOH, at that time I'd been looking at the atrocities kernel-side (in fs/pnode.c), where on realistic setups we had O(N^2) allocations done, with all but O(N) of them ending up freed before anyone could see them. So it's not as if they had a monopoly on bloody awful code...
| |