LINUX.ORG.RU

История изменений

Исправление provaton, (текущая версия) :

Попробовал сравнить gnu sort из sort и этого уутилса. Входные данные - base64 /dev/urandom | head -c 50000000 > test.data

gnu sort :
real	0m0.491s
user	0m1.633s
sys	0m0.098s

В пике потребление памяти - 131712

uutils sort:
real	0m0.352s
user	0m1.091s
sys	0m0.070s

В пике потребление памяти - 101248

Насчет линковки:

$ ldd ~/.cargo/bin/coreutils
	linux-vdso.so.1 (0x00007ffe9d9f4000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007c719cdd2000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007c719cce9000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007c719ca00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007c719d9c3000)

uutils - это один бинарник размером 13 мегабайт. По сравнению с busybox (828k) огромный размер, конечно. По сравнению с gnu coreutils не знаю, сложно сравнивать.

Исправление provaton, :

Попробовал сравнить gnu sort и sort и этого уутилса. Входные данные - base64 /dev/urandom | head -c 50000000 > test.data

gnu sort :
real	0m0.491s
user	0m1.633s
sys	0m0.098s

В пике потребление памяти - 131712

uutils sort:
real	0m0.352s
user	0m1.091s
sys	0m0.070s

В пике потребление памяти - 101248

Насчет линковки:

$ ldd ~/.cargo/bin/coreutils
	linux-vdso.so.1 (0x00007ffe9d9f4000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007c719cdd2000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007c719cce9000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007c719ca00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007c719d9c3000)

Исходная версия provaton, :

Попробовал сравнить gnu sort и sort и этого уутилса. Входные данные - base64 /dev/urandom | head -c 50000000 > test.data

gnu sort : real 0m0.491s user 0m1.633s sys 0m0.098s

В пике потребление памяти - 131712

uutils sort: real 0m0.352s user 0m1.091s sys 0m0.070s

В пике потребление памяти - 101248

Насчет линковки:

$ ldd ~/.cargo/bin/coreutils
	linux-vdso.so.1 (0x00007ffe9d9f4000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007c719cdd2000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007c719cce9000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007c719ca00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007c719d9c3000)