go 中指针的执行效率比较
package main
import ("fmt""time"
)
type Books struct {title stringauthor stringsubject stringbook_id int
}
func main() {start := time.Now() // 记录开始时间var Book1 Books /* 声明 Book1 为 Books 类型 */var Book2 Books /* 声明 Book2 为 Books 类型 *//* book 1 描述 */Book1.title = "Go 语言"Book1.author = "www.mei.biz"Book1.subject = "Go 语言教程"Book1.book_id = 6495407/* book 2 描述 */Book2.title = "Python 教程"Book2.author = "www.mei.biz"Book2.subject = "Python 语言教程"Book2.book_id = 6495700/* 打印 Book1 信息 */printBooks(Book1)/* 打印 Book2 信息 */printBooks(Book2)duration := time.Since(start) // 计算执行时间fmt.Printf("执行时间: %v\n", duration)// 记录 printBook 函数的执行时间bookStart := time.Now()/* 打印 Book1 信息(使用指针) */printBook(&Book1)/* 打印 Book2 信息(使用指针) */printBook(&Book2)bookDuration := time.Since(bookStart)fmt.Printf("printBook 函数执行时间: %v\n", bookDuration)
}func printBooks( book Books ) {fmt.Printf( "Book title : %s\n", book.title)fmt.Printf( "Book author : %s\n", book.author)fmt.Printf( "Book subject : %s\n", book.subject)fmt.Printf( "Book book_id : %d\n", book.book_id)
}func printBook( book *Books ) {fmt.Printf( "Book title : %s\n", book.title)fmt.Printf( "Book author : %s\n", book.author)fmt.Printf( "Book subject : %s\n", book.subject)fmt.Printf( "Book book_id : %d\n", book.book_id)}
第一次执行时:
go run .\strucd.go
Book title : Go 语言
Book author : www.runoob.com
Book subject : Go 语言教程
Book book_id : 6495407
Book title : Python 教程
Book author : www.runoob.com
Book subject : Python 语言教程
Book book_id : 6495700
执行时间: 1.7398ms
Book title : Go 语言
Book author : www.runoob.com
Book subject : Go 语言教程
Book book_id : 6495407
Book title : Python 教程
Book author : www.runoob.com
Book subject : Python 语言教程
Book book_id : 6495700
printBook 函数执行时间: 1.1665ms
看出指针传参时间执行较快,区别不大。
再执行:
Book title : Go 语言
Book author : www.mei.biz
Book subject : Go 语言教程
Book book_id : 6495407
Book title : Python 教程
Book author : www.mei.biz
Book subject : Python 语言教程
Book book_id : 6495700
执行时间: 1.0595ms
Book title : Go 语言
Book author : www.mei.biz
Book subject : Go 语言教程
Book book_id : 6495407
Book title : Python 教程
Book author : www.mei.biz
Book subject : Python 语言教程
Book book_id : 6495700
printBook 函数执行时间: 688.2µs
(µs 是微秒的符号,读作 “microsecond”。
1 微秒 = 1/1,000,000 秒 = 0.000001 秒
688.2µs = 0.0006882 秒)
相关文章:
go 中指针的执行效率比较
package main import ("fmt""time" ) type Books struct {title stringauthor stringsubject stringbook_id int } func main() {start : time.Now() // 记录开始时间var Book1 Books /* 声明 Book1 为 Books 类型 */var Book2 Books /* 声明…...
单链表的经典算法OJ
目录 1.反转链表 2.链表的中间节点 3.移除链表元素 ——————————————————————————————————————————— 正文开始 1.反转链表 typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {//判空if(…...
视频网站开发:Spring Boot框架的高效实现
5 系统实现 5.1用户信息管理 管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。 图5.1 用户信息管理页面 5.2 视频分享管理 管理员管理视频分享,可以添加,修改,删除视频分…...
【前端】如何制作一个自己的网站(11)
接上文。 除了前面的颜色样式外,字体样式和文本样式也是网页设计中的重要组成部分。 合适的字体和文本排版,不仅可以使页面更加美观,也可以提升用户体验。接下来,我们先来看看CSS如何设置字体样式。 字体样式 同时设置了字体样…...
【Conda】提高 Conda 下载速度与兼容性的完美指南
这里写目录标题 引言1. Conda 官方源1.1 常用官方源1.2 源的选择1.3 源的作用 2. 设置 Conda 源2.1 查看当前配置2.2 添加新的源2.3 设置源的优先级2.4 移除源2.5 示例:设置使用 conda-forge 3. 使用中国镜像源3.1 常用中国镜像源3.2 设置中国镜像源3.3 验证镜像源设…...
【Flutter】页面布局:层叠布局(Stack、Positioned)
在 Flutter 中,布局系统提供了多种方式来管理 UI 元素的排列方式。其中,Stack 和 Positioned 是非常重要的布局组件,允许开发者将子组件按层叠方式(即堆叠)布局,使得组件可以相互重叠。通过使用 Stack 和 P…...
SpringBoot实现的汽车票在线预订系统
2相关技术 2.1 MySQL 数据库 MySQL 是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非…...
集合框架14:TreeSet概述、TreeSet使用、Comparator接口及举例
视频链接:13.29 TreeSet概述_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p29 1、TreeSet概述 基于排列顺序实现元素不重复;实现了Sort…...
uniapp获取底部导航tabbar的高度(H5)
uniapp获取底部导航tabbar的高度(H5) <view :style"bottom: tabBarHeight px;"> </view>tabBarHeight: 0, // 底部tabBar高度, h5// #ifdef H5 getTabBarHeight(){const systemInfo uni.getSystemInfoSync()this.t…...
接口测试 —— 如何测试加密接口?
接口加密是指在网络传输过程中,将数据进行加密,以保护数据的安全性。接口加密可以采用多种加密算法,如AES、DES、RSA等。测试接口加密的目的是验证接口加密算法的正确性和安全性。以下是一些详细的测试方法和注意事项: 接口加密字…...
033 商品搜索
文章目录 SearchController.javaPage.javaSpuInfoServiceImpl.javaSpuInfoService.javaCubemallSearchApplication.javasearch.htmlpom.xml 功能分析 页面回显的数据: searchMap keywords:搜索的关键词 brand:过滤条件-品牌 category&…...
身份证二要素实名认证接口-身份证核验接口-身份证实名API
接口简介:企业三要素验证,输入公司名称、统一社会信用代码、法人姓名验证是否一致 接口地址:https://www.wapi.cn/api_detail/62/169.html 在线核验:https://www.wapi.cn/icardauth.html 网站地址:https://www.wapi.cn…...
一次恶意程序分析
首先F12shift查看字符表 字符表发现可疑字符串 双击进入 再tab 进入这里 推测为main函数 可见一些可疑的api FindResourceW推测该木马使用了资源加载 VirtualAlloc申请内存 然后sub_1400796E0 有 dwSize 参数 推测为 拷贝内存 memcpy类似函数 、 然后sub_140078CB0函数 跟进函…...
Javaweb基础-vue
Vue.js Vue是一套用于构建用户界面的渐进式框架。 起步 引入vue <head><script src"static/js/vue2.6.12.min.js"></script> </head> 创建vue应用 <body> <div id"index"><p>{{message}}</p> </div>…...
2. MySQL数据库基础
一、数据库的操作 1. 显示当前的数据库 SHOW DATABASES;2. 创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification...];//create_specification包括:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_n…...
java集合进阶篇-《泛型》
个人主页→VON 收录专栏→java从入门到起飞 目录 一、前言 二、泛型的简要概述 三、泛型的基本概念 类型参数: 通配符: 边界: 使用泛型的好处: 四、泛型类 五、泛型方法 六、思考 七、疑惑 一、前言 泛型对于我来说又…...
pytorh学习笔记——cifar10(三)模仿VGGNet创建卷积网络
VGG16是由牛津大学视觉几何组(Visual Geometry Group)提出的一种深度卷积神经网络模型。 VGGNet 探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了 16~19 层深的卷积神经网络,同时拓展性又很强,迁移到其它图片…...
题目:连续子序列
解题思路: 首先,不能使用暴力枚举,时间为O(n2),超时。以下为正确做法: 假设找到一段区间(其和>m),如上图黄色部分,那么该区间加上i后面的元素形成的新区间和都>m&a…...
深入解析:Nacos AP 模式的实现原理与应用场景
优质博文:IT-BLOG-CN 一、CAP 基础 Nacos作为注册中心同时支持CP和AP模式。 Nacos通过不同的协议和机制来实现这两种模式,以满足不同的需求场景。 在Nacos中,默认情况下使用的是AP模式,通过Distro协议来实现。AP模式主要关…...
snmpnetstat使用说明
1.snmpnetstat介绍 snmpnetstat命令是用来查看snmp服务器的端口连接信息。 2.snmpnetstat安装 1.snmpnetstat安装 命令: yum -y install net-snmp net-snmp-utils [root@logstash ~]# yum -y install net-snmp net-snmp-utils Loaded plugins: fastestmirror Loading mi…...
G-Helper:实现华硕笔记本硬件级控制的5个轻量高效解决方案
G-Helper:实现华硕笔记本硬件级控制的5个轻量高效解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix…...
Palworld存档转换工具终极指南:轻松编辑游戏数据的完整方案
Palworld存档转换工具终极指南:轻松编辑游戏数据的完整方案 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools Palworld存档工具是一个强…...
如何让老照片焕发新生?图像超分技术的4大突破与分辨率增强实践
如何让老照片焕发新生?图像超分技术的4大突破与分辨率增强实践 【免费下载链接】SwinIR SwinIR: Image Restoration Using Swin Transformer (official repository) 项目地址: https://gitcode.com/gh_mirrors/sw/SwinIR 在数字时代,我们常常遇到…...
手把手教程:Qwen-Image快速部署,小白也能轻松玩转AI绘画
手把手教程:Qwen-Image快速部署,小白也能轻松玩转AI绘画 1. 教程介绍 今天我们要一起探索的是阿里云通义千问团队推出的Qwen-Image图像生成模型。这个模型最大的特点就是能精准理解你的文字描述,生成包含复杂文本的高质量图像。想象一下&am…...
让业务人员直接“问“数据库:Spring AI Alibaba NL2SQL 实战指南
不用学 SQL,不用找开发排期,用大白话就能查数据——这不是未来,而是现在就能落地的方案。 一个真实的痛点 你是公司的运营负责人,想知道"上个月华东地区复购率最高的三个品类"。 在传统模式下,这个需求的链…...
为什么Scarab模组管理器能让空洞骑士的模组安装变得如此简单?
为什么Scarab模组管理器能让空洞骑士的模组安装变得如此简单? 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为《空洞骑士》模组安装的复杂流程而头疼吗&…...
重构数字桌面:2025年macOS菜单栏管理工具全解析
重构数字桌面:2025年macOS菜单栏管理工具全解析 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 问题溯源:为什么你的菜单栏变成了数字垃圾场? 当我们每天打开Mac…...
C语言运算符入门:零基础必学的5类核心运算符
对于编程入门而言,C语言是经典语言,运算符属于其最基础且最核心知识点当中的一个,后续去学习分支语句的时候,离不开对运算符的熟练运用,学习循环语句的时候,同样离不开对运算符使用熟练,学习函数…...
DAMO-YOLO模型微调指南:自定义数据集训练
DAMO-YOLO模型微调指南:自定义数据集训练 1. 引言 目标检测是计算机视觉领域的核心任务之一,而DAMO-YOLO作为阿里巴巴达摩院推出的高效检测框架,在精度和速度方面都表现出色。但预训练模型往往无法直接满足特定场景的需求,这时候…...
保姆级教程:用ACE-Step一键生成多语言音乐,视频配乐不求人
保姆级教程:用ACE-Step一键生成多语言音乐,视频配乐不求人 你是不是也遇到过这样的烦恼?精心剪辑的视频,万事俱备,就差一段能完美烘托氛围的背景音乐。翻遍免费音乐库,要么风格不搭,要么听腻了…...
