lumesh 0.18.2

a lighting shell ⚡ bash alternative
Documentation
let count = 1000000
print "--- 循环求和For ---"
let start=time.stamp_ms();
let sum=0;
for i in 0..count {
    set sum = sum + i
};
let end=time.stamp_ms();
print "从 1 到 "count" 的总和是: " sum;
print "所需时间: " end - start "毫秒";

# 从 1 到 1000000 的总和是:  499999500000
# 所需时间:  588 毫秒

print "--- 循环求和While ---"
let start=time.stamp_ms();
let sum=0;
let i = count;
while (i>0) {
    set i = i - 1
    set sum = sum + i
};
let end=time.stamp_ms();
print "从 1 到 "count" 的总和是: " sum;
print "所需时间: " end - start "毫秒";

# 从 1 到 1000000 的总和是:  499999500000
# 所需时间:  1006 毫秒

print "--- 循环+条件判断 ---"
let start=time.stamp_ms();
let sum=0; for i in 0..1000000 {
    if i % 2 == 0 {
        set sum = sum + i
    }
};
let end=time.stamp_ms();
print "从 1 到 "count" 的偶数和是: " sum;
print "所需时间: " end - start "毫秒";

# 从 1 到 1000000 的偶数和是:  249999500000
# 所需时间:  847 毫秒


print "--- 内存使用情况 ---"
initial_memory = (grep VmRSS /proc/self/status)
let start=time.stamp_ms();
let sum=0; for i in 0..1000001 {
    set sum = sum + i
};
let end=time.stamp_ms();
final_memory = (grep VmRSS /proc/self/status)

print "从 1 到 " count " 的总和是:" sum
print "初始内存使用:" initial_memory kB
print "结束时内存使用:" final_memory kB
print "内存使用变化:" final_memory - initial_memory kB
print "所需时间: " end - start "毫秒";
# 初始内存使用: 6120 kB
# 结束时内存使用: 6104 kB
# 内存使用变化: -16 kB
# 所需时间:  612 毫秒

print "--- cpu性能 ---"
let start=time.stamp_ms();
let j=1; for i in 1..count {
    i * i
};
let end=time.stamp_ms();
print "所需时间: " end - start "毫秒";
# 所需时间:  408 毫秒


# -----v0.3.7重构后----
#
# --- 循环求和For ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  199 毫秒
# --- 循环求和While ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  340 毫秒
# --- 循环+条件判断 ---
# 从 1 到  1000000  的偶数和是:  249999500000
# 所需时间:  292 毫秒
# --- 内存使用情况 ---
# 从 1 到  1000000  的总和是: 500000500000
# 初始内存使用: 6000 kB
# 结束时内存使用: 6092 kB
# 内存使用变化: 6092 kB
# 所需时间:  195 毫秒
# --- cpu性能 ---
# 所需时间:  178 毫秒
# ------------------------


# ------v0.4.1重构后---

# --- 循环求和For ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  411 毫秒
# --- 循环求和While ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  839 毫秒
# --- 循环+条件判断 ---
# 从 1 到  1000000  的偶数和是:  249999500000
# 所需时间:  619 毫秒
# --- 内存使用情况 ---
# 从 1 到  1000000  的总和是: 500000500000
# 初始内存使用: 6160 kB
# 结束时内存使用: 6112 kB
# 内存使用变化: 6112 kB
# 所需时间:  404 毫秒
# --- cpu性能 ---
# 所需时间:  389 毫秒


# ------v0.5.7重构后

# --- 循环求和For ---
#
#
# 从 1 到  1000000  的总和是:  500000500000
# 所需时间:  187 毫秒
# --- 循环求和While ---
#
#
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  349 毫秒
# --- 循环+条件判断 ---
#
#
# 从 1 到  1000000  的偶数和是:  250000500000
# 所需时间:  274 毫秒
# --- 内存使用情况 ---
#
#
# 从 1 到  1000000  的总和是: 500001500001
# 初始内存使用: VmRSS:	   6088 kB kB
# 结束时内存使用: VmRSS:	   6120 kB kB
# 内存使用变化: VmRSS:	   6120 kB kB
# 所需时间:  193 毫秒
# --- cpu性能 ---
#
#
# 所需时间:  193 毫秒

# --- 循环求和For ---
# 从 1 到  1000000  的总和是:  500000500000
# 所需时间:  374 毫秒
# --- 循环求和While ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  802 毫秒
# --- 循环+条件判断 ---
# 从 1 到  1000000  的偶数和是:  250000500000
# 所需时间:  578 毫秒
# --- 内存使用情况 ---
# 从 1 到  1000000  的总和是: 500001500001
# 初始内存使用: VmRSS:	   6140 kB kB
# 结束时内存使用: VmRSS:	   6008 kB kB
# 内存使用变化: VmRSS:	   6008 kB kB
# 所需时间:  375 毫秒
# --- cpu性能 ---
# 所需时间:  366 毫秒


# ------- v0.11.3 ----------
# --- 循环求和For ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  385 毫秒
# --- 循环求和While ---
# 从 1 到  1000000  的总和是:  499999500000
# 所需时间:  730 毫秒
# --- 循环+条件判断 ---
# 从 1 到  1000000  的偶数和是:  249999500000
# 所需时间:  546 毫秒
# --- 内存使用情况 ---
# 从 1 到  1000000  的总和是: 500000500000
# 初始内存使用: VmRSS:	    6072 kB kB
# 结束时内存使用: VmRSS:	    6072 kB kB
# 内存使用变化:  kB
# 所需时间:  385 毫秒


# -------- v0.11.4 ---------
--- 循环求和For ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  114 毫秒
--- 循环求和While ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  326 毫秒
--- 循环+条件判断 ---
从 1 到  1000000  的偶数和是:  250000000000
所需时间:  111 毫秒
--- 内存使用情况 ---
从 1 到  1000000  的总和是: 500000500000
初始内存使用: VmRSS:	    6076 kB kB
结束时内存使用: VmRSS:	    6072 kB kB
内存使用变化: VmRSS:	    6072 kB kB
所需时间:  113 毫秒
--- cpu性能 ---
所需时间:  36 毫秒


# -------- v0.11.5 ---------

--- 循环求和For ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  183 毫秒
--- 循环求和While ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  314 毫秒
--- 循环+条件判断 ---
从 1 到  1000000  的偶数和是:  249999500000
所需时间:  256 毫秒
--- 内存使用情况 ---
从 1 到  1000000  的总和是: 500000500000
初始内存使用: VmRSS:	    6072 kB kB
结束时内存使用: VmRSS:	    6072 kB kB
内存使用变化:  kB
所需时间:  173 毫秒
--- cpu性能 ---
所需时间:  160 毫秒

# -------- v0.16.5 ---------
--- 循环求和For ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  255 毫秒
--- 循环求和While ---
从 1 到  1000000  的总和是:  499999500000
所需时间:  339 毫秒
--- 循环+条件判断 ---
从 1 到  1000000  的偶数和是:  249999500000
所需时间:  301 毫秒
--- 内存使用情况 ---
从 1 到  1000000  的总和是: 500000500000
初始内存使用: VmRSS:	    2560 kB kB
结束时内存使用: VmRSS:	    2652 kB kB
内存使用变化: VmRSS:	    2652 kB kB
所需时间:  225 毫秒
--- cpu性能 ---
所需时间:  124 毫秒