]> git.dujemihanovic.xyz Git - u-boot.git/commit
tools: copyfile: use 64k instead of 512 buffer
authorAhelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Tue, 9 Apr 2024 12:14:34 +0000 (14:14 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 17 Apr 2024 23:06:01 +0000 (17:06 -0600)
commit7c665e151246cf8b5072ca4f1916f8ed0fa8565c
tree7be34e4f69ee91a85ae0086e248c07908b3dd152
parent28a766ebf16e1f702dd0a9dc74ad71fd81e57e0f
tools: copyfile: use 64k instead of 512 buffer

This is a trivial but significant optimization:
mkimage took >200ms (and 49489 writes (of which 49456 512)),
now it takes  110ms (and   419 writes (of which   386 64k)).

sendfile is much more appropriate for this and is done in one syscall,
but doesn't bring any significant speedups over 64k r/w
at the 13M size ranges, so there's no need to introduce
#if __linux__
while((size = sendfile(fd_dst, fd_src, NULL, 128 * 1024 * 1024)) > 0)
;
if(size != -1) {
ret = 0;
goto out;
}
#endif

Also extract the buffer size to a macro.

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
tools/fit_common.c