如何利用ChatGPT辅助优化刷题性能

news2025/1/23 17:30:47

根据土著刷题共建群里的一个小伙伴反馈,刷题会出现切题卡顿的情况,有时会出现滑不动的情况。

定位问题

为了定位切题卡顿问题的具体原因,测试了高低端手机📱、切换2G、3G、4G低网络状态等各种影响切题的现实情况,经过借助工具和性能面板的辅助分析,大致把切题卡顿性能问题定位到【题目池体积】上!

 由于题目池会参与到页面的渲染上,虽然之前已经做了几重的优化,但是当题目池一旦加载数据过多,积累到1500+的时候,在切题时就会有明显卡顿的感觉。

解决问题

定位出问题所在了,那咱们就要解决问题!既然目前切题的问题是因为题目池体积导致的,那咱们就要解决这个体积问题。那有什么方案可以解决呢?目前的题目池是用数组来存储的,那能否换一种数据结构??或者分而治之,把它给拆片??

👉最近chatgpt很火,那咱们就问问chatgpt如何解决这个问题,有什么优化方案

 

给出了五个优化方案,但是咱们之前的版本都已经做了,然后我又换了几种方式问,给出的优化方案还是差不多。

OK😯不要被带偏了,咱还是回到【题目池体积】上,目前题目池是用数组来存储的,那有没有性能更高的数据结构呢?然后我又问了chatgpt,然后我得到两个推荐的数据结构:Map 或 Set,对比之下 Map 数据结构更适合一些。

👉咱们还能有什么其它的优化处理吗?经过查看业务代码,发现题目池参与了页面渲染有好几个地方,特别是刷题结果和答题卡这两处,那就得把题目池剥离出页面渲染。

按此前的实现方案,答题卡是严重依赖题目池的,为了把题目池剥离出页面渲染,咱们可以为答题卡做一个滚动加载方案,只要把这两者的数据映射上就可以了。

总结一下以上的分析并制定具体的优化处理:

1️⃣. 把题目池的数据结构更改为 Map

2️⃣. 页面渲染涉及到题目池的,更改成从 虚拟列表 内获取数据

3️⃣. 答题卡改用浮层弹出,滚动加载

优化结果

经过几天的时间💪成功把切题渲染耗时从【58毫秒】拉低到【2毫秒】

 

进一步优化空间

chatgpt给出的第五个点【减少不必要的计算】,其实从另一个角度想这个方案,咱们可以使用异步来对一些必要的计算进行处理,比如使用【线程】进行处理计算。

目前土著刷题一个题库的题目数上限是1000,VIP的话是2500,暂时还不用使用【线程】做进一步的优化,一切的优化措施都是得在现实需要的情况进行,不能为了优化而优化。

当然了,以后的企业定制版肯定是得上【线程】优化的,后续会再做进一步的优化,提高用户的体验~

使用ChatGPT的小感悟

ChatGPT,总体上使用感觉不错,特别是对于在某一个领域知识储备不足的情况下,可以极大的拓宽解决问题的思路,当然了,在【如何调教ChatGPT】方面也是下点功夫的,网上很多调教的套路~

ChatGPT很强大,基本代替了搜索引擎,但是就目前而言,ChatGPT更多的是作为辅助我们解决问题的一个工具~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

门店零售系统有哪些功能模块?能带来哪些帮助?

门店零售系统是一种用于管理门店销售、库存、采购等业务的软件系统,可以帮助门店提高管理效率、降低操作风险、优化运营决策,从而增强市场竞争力和顾客满意度。 一、门店零售系统的4大功能 1、商品管理 该模块主要用于管理门店的商品信息,包…

arcgis中地理配准之栅格平移

背景 前面写过一篇文章,是针对有两个对应的栅格数据进行配准的 Arcgis地理配准栅格数据 有时候需要没有对应的栅格数据,只有单幅栅格数据,而且知道平移参数,这时候可以通过平移参数来平移栅格,而且在unity中不能直接识别坐标值很大的数据,只能通过平移将坐标值减少,才…

【分布式事务AT模式 SpringCloud集成Seata框架】分布式事务框架Seata详细讲解

前言 上篇文章我们讲述了如何启动seata的本地服务,并且注册到nacos使用,这篇文章将在SpringCloud中整合Seata框架 上篇文章传送门:https://blog.csdn.net/Syals/article/details/130102851?spm1001.2014.3001.5501 本篇主要内容&#xff…

Docker几个概念

Docker几个概念,有不正确地方欢迎指正 一、首先来看一句话:没有Cgroups就没有LXC,没有LXC就没有Docker。 1、什么是Cgroup呢?Cgroup又名Control group,是Linux内核提供的一种可以限制、记录、隔离进程组所使用的物理…

VLAN 基础与划分及配置

我们都知道 VLAN 的中文名为"虚拟局域网",VLAN 是一种将局域网设备从逻辑上划分成一个个不同的网段,从而实现虚拟工作组的新兴数据交换技术。这一新兴技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。那今天咱们就和海…

Linux网络连接出现问题

报错截图 1.先查看NetworkManager是否启动 systemctl status NetworkManager如果输出结果中包含 "active (running)" 表示 NetworkManager 已经启动并正在运行 2.查看DNS是否配置 cat vim /etc/resolv.conf 1.查看是否有配置信息,如果没有请配置DNS …

华为ACL配置

模拟场景 服务器:192.168.3.100 销售部:192.168.1.1 开发部:192.168.2.1 模拟互联网:1.1.1.1 要求1:销售部不允许访问服务器 要求2:开发部可以访问服务器 要求3:互联网不可以访问服务器 拓扑图…

栈和队列经典题题解

目录 🍉一.括号匹配问题🍉 🍈二.用队列实现栈🍈 🍏三.用栈实现队列🍏 🍓四.设计循环队列🍓 🍉一.括号匹配问题🍉 OJ链接力扣 题目描述: 思路&…

77-Linux_网络编程

网络编程一.主机字节序列和网络字节序列二.套接字地址结构1.通用socket地址结构2.专用的socket地址结构3.IP地址转换函数一.主机字节序列和网络字节序列 主机字节序列分为大端字节序和小端字节序,不同的主机采用的字节序列可能不同。 大端字节序是指一个整数的高位…

开店必备的5款超实用零售管理软件,第1个新手也能轻松使用!

现在越来越多的零售店老板都开始用零售管理软件来管理门店,提升效率,节约人力和时间成本。 但对于刚刚接触零售管理软件的老板来说,应用市场上的零售管理软件那么多,究竟哪些好用,哪些容易上手……还不太了解。 别着急…

CMake项目使用ctest+gtest进行单元测试

随着CMake工具越来越强大便捷,越来越多的C/C项目转而使用CMake来进行编译管理,它还提供了用于测试的ctest命令来执行项目中编写的单元测试。 本文就以一个实例来介绍如何使用ctest来进行单元测试。 一、环境准备 本文实例环境VSCodeMinGW64CMakegtest…

Qt程序CPU过高怎么定位解决?性能优化

自己开发的一个程序采用多线程调用url从网络上下载股票数据,一旦开启程序就特别的卡;想着优化一下;授之于鱼,不如 授之以渔; 1.CPU过高排查方法 (1)打开vs的性能探测器; &#xff…

Android端推送消息之极光推送

推送方式 轮询 --实现方式: 周期性主动获取网络中的数据; --缺点: 费电, 费流量; SMS --实现方式: 服务器端向手机端发送短信, 手机监听短信广播, 将拦截的短信信息进行显示; --优点: 省电, 省流量, 在没有网络的偏远地点也能接收到推送消息; --缺点: 费钱, 一毛钱一条;…

国产BI厂商:数字化时代的“卖水人”,扎根本土商业生态(上)

“没有数据,就没有竞争力。”随着中国经济以数字经济为重要引擎转向高质量发展道路,数据已成为推动经济增长的关键要素。Navesink顾问公司的创始人Thomas Redman认为,企业需要建立起对数据的组织和处理能力,只有这样才能收获大数据…

前端常用vscode插件

打开vscode配置 commandshiftP 选择Open User Setting(首选项:打开用户设置(JSON)) 1 Prettier - Code formatter "[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[typescri…

日常记录:天梯赛练习集L1-043 阅览室

题目: 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员…

信安大佬真的用kali吗?

Kali只是现在网络安全和kali比较火的一个操作系统 下面我为大家讲讲kali系统都有那些优点 Kali介绍Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。面向专业的渗透测试和安全审计。 集成化:预装超过300个渗透测试工具兼容好&#x…

【你听说了吗】GPT-5据说已经学完了世界上现存所有的视频

文章目录前言一、GPT-5会带来什么?二、我们该怎么办?总结前言 最近半年要说最火的产品,无疑是ChatGPT ,很多同学都在用 GPT 帮助自己工作,学习,提高效率!尤其是 GPT4,性能强 GPT3.5…

鸟哥的Linux私房菜 学习 Shell Scripts

第十三章、学习 Shell Scripts 重点回顾 shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文字档,将一些 shell 的语法与命令(含外部命令)写在里面, 搭配正规表示法、管线命令与数据流重导向等功能&#xf…

代码随想录算法训练营第五十三天 | 1143.最长公共子序列、1035.不相交的线、 53. 最大子序和 动态规划

打卡第53天 今日任务 1143.最长公共子序列 1035.不相交的线 53.最大子序和 动态规划 1143.最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这…