-
-
Notifications
You must be signed in to change notification settings - Fork 19
Memory Usage Benchmark
Yasuhiro Yamada edited this page May 1, 2022
·
13 revisions
As of teip v2.0
- Combination of
teip
and general UNIX commands was the fastest of the commonly used text processing methods.
Method | Processing Time |
---|---|
grep + sed + awk: The easy way to come up with | 28448 seconds (approx 7.9 hours) |
grep + sed + awk: Smarter way than above | 469 seconds |
Python3 script | 48 seconds |
Python3 script: Use memory aggressively | 41 seconds |
teip + grep + sed | 32 seconds |
- However,
-e
requires approx 3 times as much memory as the standard input.- To process 100 MiB file, it requires approx 300 MiB memory
- To process 500 MiB file, it requires approx 1.5 GiB memory
- Host: On GitHub Actions as of 28 April 2022
- Version teip v2.0
- Measured by Valgrind + massif
$ valgrind --tool=massif --time-unit=ms --massif-out-file={{RESULT}} {{COMMAND}} > /dev/null
- 100 MiB file: test_secure
$ wget https://github.com/greymd/test_files/raw/v1.0.0/logs/test_secure.gz
$ gzip -d ./test_secure.gz
- 500 MiB file: test_secure Concatinate 100 MiB file 5 times.
$ mv test_secure test_secure_tmp
$ cat test_secure_tmp test_secure_tmp test_secure_tmp test_secure_tmp test_secure_tmp > test_secure
- Environment
$ cat /proc/meminfo
MemTotal: 7113128 kB
︙
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
stepping : 7
microcode : 0x5003103
cpu MHz : 2499.998
cache size : 36608 KB
︙
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
stepping : 7
microcode : 0x5003103
cpu MHz : 2499.998
cache size : 36608 KB
$ uname -a
Linux fv-az190-149 5.13.0-1022-azure #26~20.04.1-Ubuntu SMP Thu Apr 7 19:42:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ awk --version
GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0)
︙
$ grep --version
grep (GNU grep) 3.4
︙
$ sed --version
sed (GNU sed) 4.7
︙
$ cat --version
cat (GNU coreutils) 8.30
︙
$ python3 --version
Python 3.6.9
Case name: mem_usage_real
teip -e 'grep -n -C 3 admin' -- sed 's/./@/g' < test_secure
Case name: mem_usage_worst
teip -e 'awk "NR==1{print NR}"' -- sed 's/./@/g' < test_secure
Case name: mem_usage_best
teip -e 'cat -n' -- sed 's/./@/g' < test_secure
Case name: mem_usage_half
teip -e 'awk "NR % 2 == 0 {print NR}"' -- sed 's/./@/g' < test_secure
Case name: mem_usage_one_third
teip -e 'awk "NR % 3 == 0 {print NR}"' -- sed 's/./@/g' < test_secure
The result is same as test case mem_usage_real
$ grep -n -C 3 admin < test_secure | awk -F '[-:]' '{print $1}' | awk NF | awk '{print NR"s/./@/g"}' | sed -f- test_secure > /dev/null
--------------------------------------------------------------------------------
Command: /home/ubuntu/repos/greymd/teip/tests/test_without_teip.sh
Massif arguments: --time-unit=ms --peak-inaccuracy=0.5 --pages-as-heap=yes --massif-out-file=test_without_teip.txt
ms_print arguments: test_without_teip.txt
--------------------------------------------------------------------------------
MB
14.29^:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#
|: #
|: #
|: #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
0 +----------------------------------------------------------------------->h
0 7.902
=> 28448 seconds
$ cat test_without_teip.sh
grep -n -C 3 admin < test_secure | awk -F '[-:]' '{print $1}' | awk NF | awk '{ do{ for(s=e=$1; (r=getline)>0 && $1<=e+1; e=$1); print s==e ? s : s","e }while(r>0) }'| awk '{print $0"s/./@/g"}' | sed -f- test_secure > tmp
result
--------------------------------------------------------------------------------
Command: /home/ubuntu/repos/greymd/teip/tests/test_without_teip.sh
Massif arguments: --time-unit=ms --peak-inaccuracy=0.5 --pages-as-heap=yes --massif-out-file=test_without_teip.txt
ms_print arguments: smart_awk.txt
--------------------------------------------------------------------------------
MB
14.29^:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#
|: #
|: #
|: #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
|@ #
0 +----------------------------------------------------------------------->s
0 469.2
Number of snapshots: 34
Detailed snapshots: [9, 11, 21, 26, 31 (peak)]
=> 469 seconds
script:
import re
import sys
N = 3
before = sys.argv[1]
after = sys.argv[2]
q = list()
ac = 0
for line in sys.stdin:
line = line.rstrip()
if ac > 0:
q.append(re.sub('.', after, line))
ac -= 1
else:
q.append(line)
if len(q) > (N + 1):
print(q.pop(0))
if re.search(before, line):
for i in range(min((N+1), len(q))):
q[-1 - i] = re.sub('.', after, q[-1 - i])
ac = N
for i in range(len(q)):
print(q[i])
executed command:
$ valgrind --tool=massif --time-unit=ms --trace-children=yes --peak-inaccuracy=0.5 --pages-as-heap=yes --massif-out-file=test_python.txt python3 ~/work/c3.py 'admin' '@' < test_secure > /dev/null
Result:
--------------------------------------------------------------------------------
Command: python3 /home/ubuntu/work/c3.py admin @
Massif arguments: --time-unit=ms --peak-inaccuracy=0.5 --pages-as-heap=yes --massif-out-file=test_python.txt
ms_print arguments: test_python.txt
--------------------------------------------------------------------------------
MB
31.15^ #
| #::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
|@# :
0 +----------------------------------------------------------------------->s
0 47.81
=> 47.81 seconds
import re
import sys
N = 3
before = sys.argv[1]
after = sys.argv[2]
q = list()
ac = 0
for line in sys.stdin:
line = line.rstrip()
if ac > 0:
q.append(re.sub('.', after, line))
ac -= 1
else:
q.append(line)
if re.search(before, line):
for i in range(min((N+1), len(q))):
q[-1 - i] = re.sub('.', after, q[-1 - i])
ac = N
for i in range(len(q)):
print(q[i])
--------------------------------------------------------------------------------
Command: python3 /home/ubuntu/work/c32.py admin @
Massif arguments: --time-unit=ms --peak-inaccuracy=0.5 --pages-as-heap=yes --massif-out-file=test_python.txt
ms_print arguments: test_python.txt
--------------------------------------------------------------------------------
MB
196.7^ ::::::#
| :: #
| @@@@@:: #
| @@@@@@@@@@:: #
| @@@@@@@@@@@@@@@:: #
| @:@@@@@@@@@@@@@@@@@:: #
| ::@@@:@@@@@@@@@@@@@@@@@:: #
| :::::@@@:@@@@@@@@@@@@@@@@@:: #
| @@@::::::@@@:@@@@@@@@@@@@@@@@@:: #
| :::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| ::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| @@:::::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| @::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| :::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| @::::::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| ::@@::::::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
| :::::@@::::::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
|:::::::@@::::::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
|: :::::@@::::::::@::@@@: :::::::::@ @::::::@@@:@@@@@@@@@@@@@@@@@:: #
0 +----------------------------------------------------------------------->s
0 40.91
=> 40.91 seconds
$ du -s test_secure
102404 test_secure
--------------------------------------------------------------------------------
Command: ./target/release/teip -e grep -n -C 3 admin -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_real.txt
ms_print arguments: ./mem_usage_real.txt
--------------------------------------------------------------------------------
MB
320.5^ #
| #:::
| @#:: ::
| ::@#:: ::::
| : @#:: :::::::
| ::: @#:: ::::: :::
| : : @#:: ::::: ::::::
| @@: : @#:: ::::: ::::: ::::
| @ : : @#:: ::::: ::::: : : ::
| @:@ : : @#:: ::::: ::::: : : : ::::
| @@@:@ : : @#:: ::::: ::::: : : : : : ::
| @ @:@ : : @#:: ::::: ::::: : : : : : :
| @@@ @:@ : : @#:: ::::: ::::: : : : : : : ::
| @ @ @:@ : : @#:: ::::: ::::: : : : : : : : :
| @@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::
| @@@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::::::
| @@@@@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::::::::::::
| :@ @@@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::::::::: :::
| @:@ @@@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::::::::: ::::
| :@:@ @@@ @ @:@ : : @#:: ::::: ::::: : : : : : : : ::::::::::: :::::
0 +----------------------------------------------------------------------->s
0 31.68
Number of snapshots: 59
Detailed snapshots: [3, 5, 7, 8, 9, 10, 11, 12, 14, 17, 18 (peak), 58]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR==1{print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_worst.txt
ms_print arguments: ./mem_usage_worst.txt
--------------------------------------------------------------------------------
MB
352.3^ ##
| ::#
| @:: ::::# :::
| @@@: ::: ::# :
| @ @: :::: : ::# : ::
| @@ @: : ::: :: : ::# : :
| @@@ @: : :::: :: : ::# : : ::
| @@@ @: :@@ ::::::: :: : ::# : : :
| @@@@@ @: :@ ::::: :::: :: : ::# : : : :
| ::@ @@@ @: :@ :: :: ::: :::: :: : ::# : : : ::
| : @ @@@ @: :@ : :::::: ::: :::: :: : ::# : : : ::@
| @@: @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@:
| @ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::
| @@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::::
| @@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :
| @@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :@
| @@@@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :@:
| @ @@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :@::
| @@@ @@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :@:::
| @ @ @@@ : @ @@@ @: :@ : :: ::: ::: :::: :: : ::# : : : ::@::: :@:::
0 +----------------------------------------------------------------------->s
0 41.99
Number of snapshots: 50
Detailed snapshots: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 34 (peak), 40, 45]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e cat -n -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_best.txt
ms_print arguments: ./mem_usage_best.txt
--------------------------------------------------------------------------------
MB
328.9^ #
| #:::@:
| #: :@:::::
| @#: :@::::::::::
| @@#: :@::::::::: :@:
| @@@#: :@::::::::: :@::::::
| @@@#: :@::::::::: :@:::::::::::
| @@@@#: :@::::::::: :@:::::::::::::::
| @@@@#: :@::::::::: :@:::::::::::::::::
| @@@@@#: :@::::::::: :@::::::::::::::::::
| @@@@@#: :@::::::::: :@:::::::::::::::::::
| @@@@@@@#: :@::::::::: :@::::::::::::::::::::
| :@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@:::
| @:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@
| @:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::
| @@:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::@::
| @@@:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::@:::
| @@@@:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::@::::
| @@@@:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::@::::
| @@@@@:@ @@@@@#: :@::::::::: :@:::::::::::::::::::::@::::::@:::::@:::::
0 +----------------------------------------------------------------------->s
0 57.37
Number of snapshots: 86
Detailed snapshots: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14 (peak), 17, 29, 57, 67, 77]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR % 2 == 0 {print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_half.txt
ms_print arguments: ./mem_usage_half.txt
--------------------------------------------------------------------------------
MB
330.5^ #
| #:::
| @#::::@:
| @@@#::::@::::
| @@@@#::::@::::@@:
| @@@@@#::::@::::@ ::::
| :@@@@@#::::@::::@ ::: :@
| @:@@@@@#::::@::::@ ::: :@
| @:@@@@@#::::@::::@ ::: :@::
| @@:@@@@@#::::@::::@ ::: :@:::@
| :@@:@@@@@#::::@::::@ ::: :@:::@::@:
| @:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@::
| :@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@::::::
| @:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@::::
| @@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::
| @@@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::::@:
| @@@@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::::@::
| @@@@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::::@::::
| @@@@@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::::@::::
| @@@@@@@:@:@@:@@@@@#::::@::::@ ::: :@:::@::@:::@:::::@:::::@:::::@:::::
0 +----------------------------------------------------------------------->s
0 34.54
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR % 3 == 0 {print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_one_third.txt
ms_print arguments: ./mem_usage_one_third.txt
--------------------------------------------------------------------------------
MB
315.6^ #
| @#::
| @#::::
| @@#::::@:
| @@@@#::::@:::
| @@ @@#::::@::::@:
| @@@ @@#::::@::::@::::
| @@@@ @@#::::@::::@:: :
| @@@@@@ @@#::::@::::@:: :::
| @@@@@@@ @@#::::@::::@:: ::
| @@@@@@@@ @@#::::@::::@:: :: ::::
| @@@@@@@@ @@#::::@::::@:: :: :: ::::::
| @@@@@@@@@ @@#::::@::::@:: :: :: :: :: ::::
| @@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : :::::::
| @@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:
| @@@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:::::
| @@@@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:::::@:
| @@@@@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:::::@::
| @@@@@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:::::@::::
| @::@@@@@@@@@@@@@@ @@#::::@::::@:: :: :: :: :: : ::::::::::@:::::@::::
0 +----------------------------------------------------------------------->s
0 31.74
Number of snapshots: 77
Detailed snapshots: [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 (peak), 26, 31, 58, 68]
$ du -hs
501M test_secure
--------------------------------------------------------------------------------
Command: ./target/release/teip -e grep -n -C 3 admin -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_real.txt
ms_print arguments: ./mem_usage_real.txt
--------------------------------------------------------------------------------
GB
1.547^ #
| :#:::
| @:#: :::
| :@:#: ::::::
| @:@:#: :::::::::::
| @@@:@:#: :::::::: : :
| @@@@:@:#: :::::::: : :@@:
| @@@@@:@:#: :::::::: : :@ ::::
| ::@@@@@:@:#: :::::::: : :@ :: ::::
| : @@@@@:@:#: :::::::: : :@ :: :::::::
| @@: @@@@@:@:#: :::::::: : :@ :: ::::::::::
| @@: @@@@@:@:#: :::::::: : :@ :: ::::::::::::@
| @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @::
| @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::
| ::@:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @::::
| @: @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::::@
| @@: @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::::@::::
| @@: @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::::@::::::@
| @@@@: @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::::@::::::@:
| @@@ @@: @:@@: @@@@@:@:#: :::::::: : :@ :: ::::::::::: @:::::@::::::@::
0 +----------------------------------------------------------------------->s
0 177.8
Number of snapshots: 75
Detailed snapshots: [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 19, 21 (peak), 33, 49, 59, 69]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR==1{print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_worst.txt
ms_print arguments: ./mem_usage_worst.txt
--------------------------------------------------------------------------------
GB
1.726^ #
| @@#:
| @: :::@@#::
| @@: :::: :@@#:::
| @@@:@ @: :: :@@#:::@
| @@@@:@ :::@: :: :@@#:::@::
| @@@@@:@: :::: :@: :: :@@#:::@:::
| @@@@@@:@:: :@: :: :@: :: :@@#:::@::::
| @@@@@@@:@::: :::@: :: :@: :: :@@#:::@:::::
| :@@@@@@@:@:::@ @::::@: :: :@: :: :@@#:::@:::::@
| @:@@@@@@@:@:::@: ::@::::@: :: :@: :: :@@#:::@:::::@:
| @@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::
| @@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@:::
| @@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@:::::
| @@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@:
| @@@@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@::
| @@@@@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@:::
| @@@@@@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@::::
| @@@@@@@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@:::::
| @@@@@@@@@@:@@@@@@@:@:::@::::@::::@: :: :@: :: :@@#:::@:::::@::::@::::@
0 +----------------------------------------------------------------------->s
0 179.1
Number of snapshots: 88
Detailed snapshots: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 26, 31, 36, 41, 46, 47, 48 (peak), 55, 65, 75, 85]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e cat -n -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_best.txt
ms_print arguments: ./mem_usage_best.txt
--------------------------------------------------------------------------------
GB
1.637^ #
| #::::
| #::::::::
| @#::::::::::::
| @#::::::::::::::::
| @@@#:::::::::::::: ::::::
| @ @#:::::::::::::: :: :: ::::
| :@ @#:::::::::::::: :: :: ::::::::
| :@ @#:::::::::::::: :: :: ::::::::::::
| @@:@ @#:::::::::::::: :: :: ::::::::::::::::
| @ :@ @#:::::::::::::: :: :: :::::::::::::::::@:
| @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:
| @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@::
| @@@@ :@ @#:::::::::::::: :: :: :::::::::::::::::@::::
| @ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::
| @ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::::@::
| @@ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::::@:::
| ::@@ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::::@::::
| : @@ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::::@:::::
| @: @@ @@ :@ @#:::::::::::::: :: :: :::::::::::::::::@:::::@:::::@::::::
0 +----------------------------------------------------------------------->s
0 242.0
Number of snapshots: 87
Detailed snapshots: [1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14 (peak), 56, 66, 76, 86]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR % 2 == 0 {print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_half.txt
ms_print arguments: ./mem_usage_half.txt
--------------------------------------------------------------------------------
GB
1.432^ #
| #:::
| :#:::@::
| :@:#:::@: :::
| :@:#:::@: :: :
| @:@:#:::@: :: :@::
| @@:@:#:::@: :: :@:::@:
| @@@@:@:#:::@: :: :@:::@::
| @@@@@:@:#:::@: :: :@:::@::
| @@@@@@:@:#:::@: :: :@:::@::@:
| :@@@@@@:@:#:::@: :: :@:::@::@:::@::
| @:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@:
| @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@:::::
| @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::
| ::@@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::
| @: @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::::::
| @@@: @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::::::
| @@@: @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::::::@
| :@@@@: @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::::::@:
| @:@@@@: @@:@@@@@@:@:#:::@: :: :@:::@::@:::@::::@::::::@:::::@::::::@::
0 +----------------------------------------------------------------------->s
0 185.4
Number of snapshots: 90
Detailed snapshots: [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 22 (peak), 27, 32, 37, 42, 47, 55, 65, 75, 85]
--------------------------------------------------------------------------------
Command: ./target/release/teip -e awk "NR % 3 == 0 {print NR}" -- sed s/./@/g
Massif arguments: --time-unit=ms --massif-out-file=mem_usage_one_third.txt
ms_print arguments: ./mem_usage_one_third.txt
--------------------------------------------------------------------------------
GB
1.561^ ##
| # :
| # ::@
| @@# ::@::@
| @@ # ::@: @:::
| @@@@ # ::@: @: ::::
| @ @@ # ::@: @: ::: @:
| @@ @@ # ::@: @: ::: @::::
| :@@ @@ # ::@: @: ::: @:: :::
| @:@@ @@ # ::@: @: ::: @:: :: ::
| @@:@@ @@ # ::@: @: ::: @:: :: :
| @@:@@ @@ # ::@: @: ::: @:: :: : ::@@
| @@@@@:@@ @@ # ::@: @: ::: @:: :: : : @ ::::
| @@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : ::::@
| @@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::
| @@@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::@::::
| :@@@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::@::::@:::
| @@:@@@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::@::::@::::
| @ :@@@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::@::::@:::::
| @@@ :@@@@ @@:@@ @@ # ::@: @: ::: @:: :: : : @ : : : : @:::@::::@::::::
0 +----------------------------------------------------------------------->s
0 215.1
Number of snapshots: 55
Detailed snapshots: [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15 (peak), 18, 20, 25, 32, 37, 41, 46, 53]