Александр Рыжов писал(а):Источник цитаты Это покажет разницу в прожорливости malloc(), если такова вообще обнаружится.
Структура mallinfo (накладные расходы на каждый malloc) абсолютно одинакова в либах - 40байт на каждую операцию.
Александр Рыжов писал(а):Источник цитаты Это покажет разницу в прожорливости malloc(), если такова вообще обнаружится.
Это всё слова, Андрей. Для кучи ничего, кроме размера и быстродействия тестировать не надо. Что мешает проверить?Zyxmon писал(а):Источник цитаты Структура mallinfo (накладные расходы на каждый malloc) абсолютно одинакова в либах - 40байт на каждую операцию.
Код: Выделить всё
~ #/opt/sbin/dnsmasq
~ # pmap -dp 8127
8127: dnsmasq
Address Kbytes Mode Offset Device Mapping
00400000 264 r-x-- 0000000000000000 008:00001 /opt/sbin/dnsmasq
00451000 8 rw--- 0000000000041000 008:00001 /opt/sbin/dnsmasq
00593000 132 rwx-- 0000000000000000 000:00000 [ anon ]
76e9e000 44 r-x-- 0000000000000000 008:00001 /opt/lib/libnss_files-2.23.so
76ea9000 60 ----- 000000000000b000 008:00001 /opt/lib/libnss_files-2.23.so
76eb8000 4 r---- 000000000000a000 008:00001 /opt/lib/libnss_files-2.23.so
76eb9000 4 rw--- 000000000000b000 008:00001 /opt/lib/libnss_files-2.23.so
76eba000 24 rw--- 0000000000000000 000:00000 [ anon ]
76ec0000 1456 r-x-- 0000000000000000 008:00001 /opt/lib/libc-2.23.so
7702c000 60 ----- 000000000016c000 008:00001 /opt/lib/libc-2.23.so
7703b000 12 r---- 000000000016b000 008:00001 /opt/lib/libc-2.23.so
7703e000 12 rw--- 000000000016e000 008:00001 /opt/lib/libc-2.23.so
77041000 172 rw--- 0000000000000000 000:00000 [ anon ]
7706c000 148 r-x-- 0000000000000000 008:00001 /opt/lib/ld-2.23.so
7709e000 8 rw--- 0000000000000000 000:00000 [ anon ]
770a0000 4 r---- 0000000000024000 008:00001 /opt/lib/ld-2.23.so
770a1000 4 rw--- 0000000000025000 008:00001 /opt/lib/ld-2.23.so
7f9cc000 132 rwx-- 0000000000000000 000:00000 [ stack ]
7ffff000 4 r-x-- 0000000000000000 000:00000 [ anon ]
mapped: 2552K writeable/private: 496K shared: 0K
Код: Выделить всё
~ # /opt/sbin/dnsmasq --addn-hosts=/opt/etc/adsuck/Hosts.pub
~ # ps afx | grep dnsmasq
9934 pts/0 S+ 0:00 \_ grep dnsmasq
9916 ? S 0:02 /opt/sbin/dnsmasq --addn-hosts=/opt/etc/adsuck/Hosts.pub
~ # pmap -dp 9916
9916: /opt/sbin/dnsmasq --addn-hosts=/opt/etc/adsuck/Hosts.pub
Address Kbytes Mode Offset Device Mapping
00400000 264 r-x-- 0000000000000000 008:00001 /opt/sbin/dnsmasq
00451000 8 rw--- 0000000000041000 008:00001 /opt/sbin/dnsmasq
00af5000 132 rwx-- 0000000000000000 000:00000 [ anon ]
00b16000 7260 rwx-- 0000000000000000 000:00000 [ anon ]
778bf000 44 r-x-- 0000000000000000 008:00001 /opt/lib/libnss_files-2.23.so
778ca000 60 ----- 000000000000b000 008:00001 /opt/lib/libnss_files-2.23.so
778d9000 4 r---- 000000000000a000 008:00001 /opt/lib/libnss_files-2.23.so
778da000 4 rw--- 000000000000b000 008:00001 /opt/lib/libnss_files-2.23.so
778db000 24 rw--- 0000000000000000 000:00000 [ anon ]
778e1000 1456 r-x-- 0000000000000000 008:00001 /opt/lib/libc-2.23.so
77a4d000 60 ----- 000000000016c000 008:00001 /opt/lib/libc-2.23.so
77a5c000 12 r---- 000000000016b000 008:00001 /opt/lib/libc-2.23.so
77a5f000 12 rw--- 000000000016e000 008:00001 /opt/lib/libc-2.23.so
77a62000 172 rw--- 0000000000000000 000:00000 [ anon ]
77a8d000 148 r-x-- 0000000000000000 008:00001 /opt/lib/ld-2.23.so
77abf000 8 rw--- 0000000000000000 000:00000 [ anon ]
77ac1000 4 r---- 0000000000024000 008:00001 /opt/lib/ld-2.23.so
77ac2000 4 rw--- 0000000000025000 008:00001 /opt/lib/ld-2.23.so
7fe89000 132 rwx-- 0000000000000000 000:00000 [ stack ]
7ffff000 4 r-x-- 0000000000000000 000:00000 [ anon ]
mapped: 9812K writeable/private: 7756K shared: 0K
Александр Рыжов писал(а):Источник цитаты 7316КБ во втором случае — размер кучи.
Александр Рыжов писал(а):Источник цитаты Хочу lmbench погонять.
Код: Выделить всё
~ # time sh -c 'echo "scale=5000; a(1)*4" | bc -l'
3.141592653589793238462643383279502884197169399375105820974944592307\
...
74351362222477158915049530984448933309634087807693259939780541934144\
73774418426312986080998886874132604720
215.87user 0.03system 3:36.21elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+0minor)pagefaults 0swaps
~ #
~ # 7za b -md20
7-Zip (a) 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31
p7zip Version 15.14.1 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,32 bits,4 CPUs LE)
LE
CPU Freq: 855 834 844 840 855 854 846 849
RAM size: 250 MB, # CPU hardware threads: 4
RAM usage: 45 MB, # Benchmark threads: 4
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
18: 748 267 250 667 | 15235 378 326 1231
19: 729 270 242 653 | 15368 384 327 1257
20: 714 265 246 651 | 14879 378 326 1233
---------------------------------- | ------------------------------
Avr: 267 246 657 | 380 326 1240
Tot: 324 286 949
~ #
Код: Выделить всё
~ # time sh -c 'echo "scale=5000; a(1)*4" | bc -l'
3.141592653589793238462643383279502884197169399375105820974944592307\
..
74351362222477158915049530984448933309634087807693259939780541934144\
73774418426312986080998886874132604720
209.14user 0.13system 3:30.19elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+0minor)pagefaults 0swaps
~ #
~ # 7za b -md20
7-Zip (a) 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31
p7zip Version 15.14.1 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,32 bits,4 CPUs LE)
LE
CPU Freq: 852 861 858 837 860 852 860 849
RAM size: 250 MB, # CPU hardware threads: 4
RAM usage: 45 MB, # Benchmark threads: 4
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
18: 779 277 251 695 | 15856 394 325 1281
19: 728 278 234 653 | 15709 393 327 1285
20: 696 259 246 635 | 15549 392 328 1289
---------------------------------- | ------------------------------
Avr: 271 244 661 | 393 327 1285
Tot: 332 285 973
~ #
Код: Выделить всё
~ # libc-bench
b_malloc_sparse (0)
__omni2_libc-bench_glibc time: 57.793344451, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 59.120261780, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.190920109, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.151424829, virt: 0, res: 0, dirty: 0
b_malloc_bubble (0)
__omni2_libc-bench_glibc time: 40.390487888, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 39.501373350, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.090350698, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.120058503, virt: 0, res: 0, dirty: 0
b_malloc_tiny1 (0)
__omni2_libc-bench_glibc time: 0.014415320, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.012949162, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.010242067, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.010930603, virt: 0, res: 0, dirty: 0
b_malloc_tiny2 (0)
__omni2_libc-bench_glibc time: 0.010079376, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.010284741, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.007568622, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.007556723, virt: 0, res: 0, dirty: 0
b_malloc_big1 (0)
__omni2_libc-bench_glibc time: 0.030749897, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.033180763, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.019729148, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.022701898, virt: 0, res: 0, dirty: 0
b_malloc_big2 (0)
__omni2_libc-bench_glibc time: 0.028812014, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.031458282, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.016403568, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.019348077, virt: 0, res: 0, dirty: 0
b_malloc_thread_stress (0)
__omni2_libc-bench_glibc time: 0.262379666, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.270467849, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.153230804, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.234085095, virt: 0, res: 0, dirty: 0
b_malloc_thread_local (0)
__omni2_libc-bench_glibc time: 0.313010217, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.276915028, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.142150323, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.228982534, virt: 0, res: 0, dirty: 0
b_string_strstr ("abcdefghijklmnopqrstuvwxyz")
__omni2_libc-bench_glibc time: 0.246618182, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.346916059, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.180606234, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.245456363, virt: 0, res: 0, dirty: 0
b_string_strstr ("azbycxdwevfugthsirjqkplomn")
__omni2_libc-bench_glibc time: 0.590908431, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.351033745, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.318571940, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.250979625, virt: 0, res: 0, dirty: 0
b_string_strstr ("aaaaaaaaaaaaaacccccccccccc")
__omni2_libc-bench_glibc time: 1.052982431, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 2.108019769, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.290009506, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.659929239, virt: 0, res: 0, dirty: 0
b_string_strstr ("aaaaaaaaaaaaaaaaaaaaaaaaac")
__omni2_libc-bench_glibc time: 0.226743982, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 2.849476255, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.174320040, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 1.519206634, virt: 0, res: 0, dirty: 0
b_string_strstr ("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac")
__omni2_libc-bench_glibc time: 0.214113117, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 4.331047537, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.195870454, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 2.404944810, virt: 0, res: 0, dirty: 0
b_string_memset (0)
__omni2_libc-bench_glibc time: 0.208964969, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.213298031, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.168259962, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.166218162, virt: 0, res: 0, dirty: 0
b_string_strchr (0)
__omni2_libc-bench_glibc time: 0.555146696, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.648027872, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.480340366, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.472602614, virt: 0, res: 0, dirty: 0
b_string_strlen (0)
__omni2_libc-bench_glibc time: 0.398821859, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.344298821, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.404783534, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.365477217, virt: 0, res: 0, dirty: 0
b_pthread_createjoin_serial1 (0)
__omni2_libc-bench_glibc time: 0.733509600, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.179261618, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.219154050, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.165061104, virt: 0, res: 0, dirty: 0
b_pthread_createjoin_serial2 (0)
__omni2_libc-bench_glibc time: 1.228206841, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.338991180, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.514819303, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.305562026, virt: 0, res: 0, dirty: 0
b_pthread_create_serial1 (0)
__omni2_libc-bench_glibc time: 0.410395014, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.235013110, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.190765950, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.204352845, virt: 0, res: 0, dirty: 0
b_pthread_uselesslock (0)
__omni2_libc-bench_glibc time: 0.234301328, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.215653831, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.223860014, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.210295066, virt: 0, res: 0, dirty: 0
b_utf8_bigbuf (0)
__omni2_libc-bench_glibc time: 0.639045502, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.710937221, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.431203759, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.377147386, virt: 0, res: 0, dirty: 0
b_utf8_onebyone (0)
__omni2_libc-bench_glibc time: 3.717205128, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 1.546771311, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 1.368447892, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.714239577, virt: 0, res: 0, dirty: 0
b_stdio_putcgetc (0)
__omni2_libc-bench_glibc time: 2.202983328, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 1.906901490, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 2.064513892, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 1.882409688, virt: 0, res: 0, dirty: 0
b_stdio_putcgetc_unlocked (0)
__omni2_libc-bench_glibc time: 0.238504400, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.330946069, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.169246555, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.172038164, virt: 0, res: 0, dirty: 0
b_regex_compile ("(a|b|c)*d*b")
__omni2_libc-bench_glibc time: 0.117148207, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.009929883, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.085681977, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.006803334, virt: 0, res: 0, dirty: 0
b_regex_search ("(a|b|c)*d*b")
__omni2_libc-bench_glibc time: 0.037678339, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 0.010805000, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.020729284, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 0.008468482, virt: 0, res: 0, dirty: 0
b_regex_search ("a{25}b")
__omni2_libc-bench_glibc time: 0.857436800, virt: 0, res: 0, dirty: 0
_omni2_libc-bench_uclibc time: 1.594727700, virt: 0, res: 0, dirty: 0
_ultra2_libc-bench_glibc time: 0.540985445, virt: 0, res: 0, dirty: 0
ultra2_libc-bench_uclibc time: 1.084959390, virt: 0, res: 0, dirty: 0
~ #
Код: Выделить всё
opkg install lmbench-bw-mem
bw_mem -W 3 -N 50 16M rdwr
bw_mem -W 3 -N 50 16M cp
bw_mem -W 3 -N 50 16M fcp
bw_mem -W 3 -N 50 16M bcopy
Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»
Всего 2 посетителя :: 0 зарегистрированных, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя