#!/bin/bash# 冒泡排序算法测试 - CPU负载测试 # 兼容旧版本Bashbubble_sort() {local array_name=$1eval "local array=(\"\${${array_name}[@]}\")"local n=${#array[@]}for ((i = 0; i < n-1; i++)); dofor ((j = 0; j < n-i-1; j++)); doif [ ${array[j]} -gt ${array[j+1]} ]; then# 交换元素local temp=${array[j]}array[j]=${array[j+1]}array[j+1]=$tempfidonedone# 将排序后的数组赋值回原变量eval "${array_name}=(\"\${array[@]}\")" }# 生成随机数组 generate_random_array() {local size=$1local array=()for ((i=0; i<size; i++)); doarray[i]=$((RANDOM % 10000))done# 返回数组元素echo "${array[@]}" }# 主测试函数 run_test() {local array_size=${1:-1000} # 默认数组大小,降低以避免过长时间local iterations=${2:-5} # 默认迭代次数echo "=== Bash冒泡排序CPU负载测试 ==="echo "数组大小: $array_size"echo "迭代次数: $iterations"echo "开始时间: $(date)"echo "--------------------------------"local total_time=0for ((iter=1; iter<=iterations; iter++)); doecho -n "第 $iter 次迭代..."# 生成新数组local test_arraytest_array=($(generate_random_array $array_size))# 计时开始local start_time=$(date +%s)# 执行排序bubble_sort test_array# 计时结束local end_time=$(date +%s)local duration=$((end_time - start_time))echo " 完成 - 耗时: ${duration}秒"total_time=$((total_time + duration))# 小延迟,避免过热sleep 1doneecho "--------------------------------"echo "总耗时: ${total_time}秒"echo "平均耗时: $((total_time / iterations))秒"echo "结束时间: $(date)"echo "测试完成!" }# 极简版本 - 如果上述仍有问题 simple_bubble_test() {echo "=== 极简冒泡排序测试 ==="echo "开始时间: $(date)"# 创建一个小数组进行测试arr=(5 3 8 4 2 9 1 7 6)echo "原始数组: ${arr[@]}"# 冒泡排序n=${#arr[@]}for ((i = 0; i < n-1; i++)); dofor ((j = 0; j < n-i-1; j++)); doif [ ${arr[j]} -gt ${arr[j+1]} ]; thentemp=${arr[j]}arr[j]=${arr[j+1]}arr[j+1]=$tempfidonedoneecho "排序后数组: ${arr[@]}"echo "结束时间: $(date)" }# 检查Bash版本 check_bash_version() {local bash_version=${BASH_VERSION%%[^0-9.]*}echo "当前Bash版本: $bash_version"if [ $(echo "$bash_version >= 4.3" | bc -l 2>/dev/null) -eq 1 ]; thenecho "Bash版本支持高级特性"return 0elseecho "Bash版本较旧,使用兼容模式"return 1fi }# 显示使用信息 show_usage() {echo "用法: $0 [选项]"echo "选项:"echo " normal [大小] [次数] 正常测试模式"echo " simple 极简测试模式"echo " check 检查Bash版本"echo " help 显示此帮助"echo ""echo "示例:"echo " $0 normal 500 3 # 500元素, 3次迭代"echo " $0 simple # 极简测试" }# 主程序 main() {case "$1" in"normal")if check_bash_version; thenrun_test "$2" "$3"else# 如果版本检查失败,使用更保守的参数run_test "${2:-500}" "${3:-3}"fi;;"simple")simple_bubble_test;;"check")check_bash_version;;"help"|"-h"|"--help")show_usage;;*)echo "使用默认参数运行测试..."if check_bash_version; thenrun_testelserun_test 500 3fi;;esac }# 运行主程序 main "$@"
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920973.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
Day23static详解
static修饰德成员变量,属于类的本身,被该类德所有实例共享,在类中可以通过类名直接访问,再导入包时打破必须通过类名访问静态成员的规则,将指定的静态成员直接引入当前类的作用域
package oop1.Demo7;
//被fianl定…
11.prometheus监控之黑盒(blackbox)监控
一、黑盒监控"白盒监控"--需要把对应的Exporter程序安装到被监控的目标主机上,从而实现对主机各种资源及其状态的数据采集工作。但是由于某些情况下操作技术或其他原因,不是所有的Exporter都能部署到被监控…
网站访问量有什么用网站开发代码用什么软件
重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表,找到两个IE11的更新(见下图“卸载文件“)并卸载掉,这样windows功能中的ie11才会变成ie8.
打开控制面板
进入面板,点击程序,进…
自己做的网站怎么接入数据库嘉兴企业网站推广方法
配置IPsec on GRE Tunnel with IOS Firewall and NAT<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />详细配置见附件
实用指南:月匣 - 百度推出的AI情感陪伴与剧情互动应用
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
电子商务网站的建设与维护企业网站内容如何更新
个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录
1.字符指针
2.指针数组
3.数组指针
4.数组传…
做纸巾定制的网站广告设计宣传画册
一、 选题的依据及意义
随着信息化技术的发展,敬老院的信息化管理也迎来了机遇和挑战,我们积极应对这场战斗,丝毫不懈怠。因为,在未来的互联网是一个开放的环境,而传统的管理是一个独立的对象维护和医疗管理模式&…
宜昌的网站建设wordpress菜单出不来
在制作项目的时候遇到一个需求,点击一个按钮弹出一个input输入框,并让输入框获得焦点,项目中引用了element-ui
在网上查找了很多方法,但是在实际使用中发现了一个问题无论是使用$ref获取input元素然后使用focus方法还是使用饿了么…
Python虚拟环境及创建和使用虚拟环境(Python3)
一、什么是Python虚拟环境
简单说,虚拟环境是一个独立的 Python 运行环境,它与系统全局的 Python 环境完全隔离。每个虚拟环境可以有自己独立的 Python 解释器版本(如果需要)。
每个虚拟环境中安装的第三方库(如 …
团队协作必备:16款在线协同编辑文档方案对比
为解决企业在线协同编辑文档的选型难题,本文深度评测了含坚果云在内的16款主流工具。文章从协作办公、数据安全与功能特色等多维度进行全面对比分析,旨在为不同需求的企业提供实用选型指南,帮助团队找到最合适的协同…
石材企业网站源码自创图片软件
文章目录 了解操作系统定义目的操作系统体系结构功能特征操作系统的区别(64位与32位)操作系统的地址内存管理缓存 了解操作系统
定义
操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件
目的
方便性,有效性(提高系统资源的利用率,提高系统的吞吐量)
操作系统体…
变电站、开闭所、环网柜、配电站
1、概念变电站:“区域总电源”,把高压电(如 220kV)变成 10kV,是所有下游设备的电来源;开闭所:“10kV 中转站”,把变电站来的 10kV 电分给周边的环网柜和配电站;环网柜:“10kV 小节点”,给配电站分支供电,还…
IDEA大幅度提升编译速度配置 - 指南
IDEA大幅度提升编译速度配置 - 指南2025-09-28 18:15
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…
免费只做网站公司装修工程
《死锁实验报告》由会员分享,可在线阅读,更多相关《死锁实验报告(3页珍藏版)》请在人人文库网上搜索。1、操作系统实验二报告一实验名称:死锁的检测与解除二实验目的:观察死锁产生的条件,并使用适当的算法,…
网站建设入账哪个科目湛江人才网
事务原理
1 事务基础
1). 事务
事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
2). 特性 原子性(Atomi…
为AI注入灵魂:一种面向人机黑箱的元人文治理新范
为AI注入灵魂:一种面向人机黑箱的元人文治理新范式
在人工智能治理领域,我们正面临一个根本性的范式转移:挑战从纯粹的“技术黑箱”转向更为复杂的 “人机混合黑箱” 。当人类偏好、算法决策与社会环境相互缠绕,传…
2025年5款主流服务管理工具大盘点!总有一款最值得你选! - RAIN
2025年5款主流服务管理工具大盘点!总有一款最值得你选!一、开篇:数字化时代,服务管理已成企业 “刚需配置”
在当今数字化转型已成为企业核心战略的背景下,“服务能力”正逐渐演变为决定竞争力的关键因素。然而…
2025.9.28——1黄
普及/提高-
P5194 [USACO05DEC] Scales S
wpmx说自己没看清题卡了很久的简单dfs题,试着做了一下,难点在于倒着dfs,这是一个重要剪枝。
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心…