$ strace -c -f ./rus2lat.sh < ../VNM.txt > /dev/null ^CProcess 8116 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
78.74 0.009034 0 320306 rt_sigprocmask
17.77 0.002039 0 79862 write
1.58 0.000181 0 1339 read
0.43 0.000049 2 32 7 open
0.37 0.000042 14 3 munmap
0.33 0.000038 38 1 access
0.30 0.000034 1 33 mmap
0.24 0.000028 0 846 lseek
0.24 0.000028 0 425 425 ioctl
0.00 0.000000 0 25 close
0.00 0.000000 0 10 4 stat
0.00 0.000000 0 448 fstat
0.00 0.000000 0 10 mprotect
0.00 0.000000 0 3 brk
0.00 0.000000 0 8 rt_sigaction
0.00 0.000000 0 1 dup2
0.00 0.000000 0 1 getpid
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 uname
0.00 0.000000 0 3 1 fcntl
0.00 0.000000 0 2 getrlimit
0.00 0.000000 0 1 getuid
0.00 0.000000 0 1 getgid
0.00 0.000000 0 1 geteuid
0.00 0.000000 0 1 getegid
0.00 0.000000 0 1 getppid
0.00 0.000000 0 1 getpgrp
0.00 0.000000 0 1 arch_prctl
------ ----------- ----------- --------- --------- ----------------
100.00 0.011473 403367 437 total
Предыдущая версия с двумя read
^CProcess 15403 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
53.48 1.567855 0 4644228 read
12.31 0.360885 0 1318652 write
11.46 0.335973 0 1318654 1318652 ioctl
10.86 0.318386 0 1318676 fstat
10.60 0.310744 0 1318654 lseek
0.41 0.011971 1 11886 7 open
0.30 0.008745 0 29637 1 fcntl
0.30 0.008670 1 11854 dup2
0.17 0.004915 0 17805 close
0.11 0.003308 1 5927 unlink
0.00 0.000000 0 11 4 stat
0.00 0.000000 0 33 mmap
0.00 0.000000 0 10 mprotect
0.00 0.000000 0 3 munmap
0.00 0.000000 0 8 brk
0.00 0.000000 0 8 rt_sigaction
0.00 0.000000 0 13 rt_sigprocmask
0.00 0.000000 0 1 access
0.00 0.000000 0 1 getpid
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 uname
0.00 0.000000 0 2 getrlimit
0.00 0.000000 0 1 getuid
0.00 0.000000 0 1 getgid
0.00 0.000000 0 1 geteuid
0.00 0.000000 0 1 getegid
0.00 0.000000 0 1 getppid
0.00 0.000000 0 1 getpgrp
0.00 0.000000 0 1 statfs
0.00 0.000000 0 1 arch_prctl
0.00 0.000000 0 1 faccessat
------ ----------- ----------- --------- --------- ----------------
100.00 2.931452 9996074 1318664 total
Не вдуплю, из-за чего ошибки ioctl :-]
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffe7f0bd00) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(0, 0, SEEK_CUR) = 0
fstat(0, {st_mode=S_IFREG|0600, st_size=3, ...}) = 0
read(0, "\320", 1) = 1
read(0, "\220", 1) = 1
fstat(1, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffe7f0b4b0) = -1 ENOTTY (Inappropriate ioctl for device)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6d389f9000
write(1, "A", 1) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffe7f0bd00) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(0, 0, SEEK_CUR) = 2
fstat(0, {st_mode=S_IFREG|0600, st_size=3, ...}) = 0
read(0, "\n", 1) = 1
write(1, "\n", 1) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffe7f0bd00) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(0, 0, SEEK_CUR) = 3
fstat(0, {st_mode=S_IFREG|0600, st_size=3, ...}) = 0
read(0, "", 1) = 0
dup2(10, 0) = 0
fcntl(10, F_GETFD) = 0x1 (flags FD_CLOEXEC)
close(10) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffe7f0be40) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(0, 0, SEEK_CUR) = 3
fstat(0, {st_mode=S_IFREG|0640, st_size=3, ...}) = 0
read(0, "", 1) = 0