怎么用脚本获取运行时间

wen 实用脚本 1

本文目录导读:

怎么用脚本获取运行时间

  1. Bash/Shell 脚本
  2. Python 脚本
  3. Node.js/JavaScript
  4. Windows Batch 脚本
  5. 通用监控工具
  6. 高级测量(包含内存等指标)

Bash/Shell 脚本

#!/bin/bash
# 记录开始时间
start_time=$(date +%s%N)
# 你的脚本代码
echo "执行任务..."
sleep 5
# 计算运行时间
end_time=$(date +%s%N)
elapsed_ms=$(( ($end_time - $start_time) / 1000000 ))
elapsed_sec=$(( elapsed_ms / 1000 ))
echo "脚本运行时间: ${elapsed_sec}.$(($elapsed_ms % 1000))秒"

或者使用更简单的 time 命令:

time your_script.sh

Python 脚本

使用 time 模块

import time
start_time = time.time()
# 你的代码
print("执行任务...")
time.sleep(5)
end_time = time.time()
elapsed_time = end_time - start_time
print(f"脚本运行时间: {elapsed_time:.2f} 秒")

使用装饰器(适用于函数)

import time
from functools import wraps
def timing_decorator(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        end = time.perf_counter()
        print(f"{func.__name__} 运行时间: {end - start:.4f} 秒")
        return result
    return wrapper
@timing_decorator
def my_function():
    time.sleep(2)
my_function()

Node.js/JavaScript

// 使用 console.time
console.time('脚本执行');
// 你的代码
setTimeout(() => {
    console.timeEnd('脚本执行');
}, 2000);
// 或使用 Date 对象
const start = Date.now();
// 你的代码
const end = Date.now();
console.log(`运行时间: ${end - start}ms`);

Windows Batch 脚本

@echo off
set start=%time%
:: 你的脚本代码
echo 执行任务...
timeout /t 5
set end=%time%
echo 开始时间: %start%
echo 结束时间: %end%

通用监控工具

如果你想监控脚本或程序的外部运行时间:

# Linux 系统
/usr/bin/time -v your_program
# 或者使用简单的 time
time your_program
# Windows
Measure-Command { your_command }

高级测量(包含内存等指标)

#!/bin/bash
start_time=$(date +%s%N)
# 你的脚本
your_script_here
end_time=$(date +%s%N)
elapsed=$(( (end_time - start_time) / 1000000 ))
echo "总耗时: ${elapsed}ms"
# 最小输出格式
echo "耗时 $(date -u -d @$(($(date +%s%N) - $start_time)) +%H:%M:%S.%N)"

选择哪种方法取决于你的使用场景:

  • 简单快速:使用 time 命令
  • 脚本内测量:使用语言内置时间函数
  • 性能分析:使用专业工具如 profiler

需要我针对特定脚本类型提供更详细的示例吗?

抱歉,评论功能暂时关闭!