php常用开发框架性能对比

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、框架简介?
    • 1.1 webman
    • 1.2 CodeIgniter(CI框架)
    • 1.3 ThinkPHP
    • 1.4 Laravel
    • 1.5 EasySwoole
  • 二、压测对比
    • 1.机器配置
    • 2.webman压测
    • 2. ThinkPHP压测
    • 3. Laravel压测
    • 4. CodeIgniter压测
    • 5. EasySwoole压测
  • 三、 压测数据汇总
  • 四 、框架优缺点对比
    • 4.1 Webman
    • 4.2 CodeIgniter
    • 4.3 ThinkPHP
    • 4.4 Laravel
    • 4.5 EasySwoole
  • 总结


前言

本文将简单介绍一下常用框架,webman,CodeIgniter,ThinkPHP,laravel框架,通过ab压力测试,对比一下性能,从ab压测参数,占用内存等方面简单对比一下


以下内容仅供参考

一、框架简介?

1.1 webman

webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。

学习手册:webman手册

1.2 CodeIgniter(CI框架)

CodeIgniter 是一个功能强大的 PHP 框架,占用空间非常小,专为需要简单而优雅的工具包来创建功能齐全的 Web 应用程序的开发人员而构建.

学习手册: CodeIgniter手册

1.3 ThinkPHP

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性
学习手册: ThinkPHP手册

1.4 Laravel

一个渐进式框架 ,可扩展的框架 ,Laravel 结合了 PHP 生态系统中最好的包,提供了最健壮和对开发者最友好的框架。
学习手册:Laravel

1.5 EasySwoole

EasySwoole 是一款基于 Swoole Server 开发的常驻内存型的分布式 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听 HTTP、自定义 TCP、UDP 协议,让开发者以最低的学习成本和精力编写出多进程、可异步、高可用的应用服务
学习手册: EasySwoole学习手册

二、压测对比

1.机器配置

本文压测使用的是虚拟机,配置如下
虚拟配置虚拟机系统版本信息

[root@slave_1 webman]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
[root@slave_1 webman]#

php版本信息如下

[root@slave_1 webdata]# 
[root@slave_1 webdata]# php -v
PHP 7.4.33 (cli) (built: Dec  8 2024 23:43:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

2.webman压测

webman启动后进程信息(如下):

[root@slave_1 webman]# 
[root@slave_1 webman]# php start.php  start
Workerman[start.php] start in DEBUG mode
-------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.1.17          PHP version:7.4.33           Event-Loop:\Workerman\Events\Select
--------------------------------------------- WORKERS ---------------------------------------------
proto   user            worker          listen                 processes    status           
tcp     root            webman          http://0.0.0.0:8787    4             [OK]            
tcp     root            monitor         none                   1             [OK]            
---------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
/data/webdata/webman/config/process.php updated and reload
Workerman[start.php] reloading# webman接口逻辑,只是简单返回json数据接口
[root@master /]# curl slave_1:8787/index/getBannerList
{"code":200,"msg":"ok","data":{"list":{"name":"ab压力测试webman","img_url":""}}}[root@master /]#

webman压测数据

[root@master /]# ab -c 500 -n 10000 -k  slave_1:8787/index/getBannerList
Server Software:        workerman
Server Hostname:        slave_1
Server Port:            8787Document Path:          /index/getBannerList
Document Length:        84 bytesConcurrency Level:      500
Time taken for tests:   0.708 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    10000
Total transferred:      1980000 bytes
HTML transferred:       840000 bytes
Requests per second:    14133.36 [#/sec] (mean)
Time per request:       35.377 [ms] (mean)
Time per request:       0.071 [ms] (mean, across all concurrent requests)
Transfer rate:          2732.82 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    3  12.7      0      71
Processing:     2   30  14.2     28      95
Waiting:        1   30  14.2     28      95
Total:          2   33  19.2     29     111Percentage of the requests served within a certain time (ms)50%     2966%     3275%     3680%     4190%     6295%     7198%     9499%    100100%    111 (longest request)
[root@master /]# 
# webman占用程序占用内存 2231520/1024/1024 =2.12M
[root@slave_1 conf]# curl 127.0.0.1:8787/index/getBannerList
{"code":200,"msg":"ok","data":{"list":{"name":"ab压力测试webman","img_url":"","$memoryUsage":2231520}}}

在这里插入图片描述

2. ThinkPHP压测

压测参数

# 本例使用的ThinkPHP版本信息 5.1
[root@master /]# ab -c 100 -n 1000 -k  http://192.168.40.130:8081/index.php/index/index
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Server Software:        openresty/1.27.1.1
Server Hostname:        192.168.40.130
Server Port:            8081Document Path:          /index.php/index/index
Document Length:        102 bytesConcurrency Level:      100
Time taken for tests:   13.576 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      278000 bytes
HTML transferred:       102000 bytes
Requests per second:    73.66 [#/sec] (mean)
Time per request:       1357.620 [ms] (mean)
Time per request:       13.576 [ms] (mean, across all concurrent requests)
Transfer rate:          20.00 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    6   7.1      4      94
Processing:    21 1288 241.7   1351    1644
Waiting:        9 1287 241.7   1351    1637
Total:         26 1294 240.2   1358    1646Percentage of the requests served within a certain time (ms)50%   135866%   137875%   138980%   139690%   141595%   143198%   144999%   1499100%   1646 (longest request)# php-fpm 占用内存大小 [root@slave_1 server]# ps -axu | grep php-fpm
root        984  0.0  0.5 220476 10040 ?        Ss   1月04   0:11 php-fpm: master process (/soft/php_7_4_33/etc/php-fpm.conf)
www-data   9347 24.7  0.5 222740 10268 ?        R    19:19   0:15 php-fpm: pool www
www-data   9350 20.6  0.5 222740 10260 ?        R    19:19   0:08 php-fpm: pool www
www-data   9351 20.5  0.5 222740 10264 ?        R    19:19   0:08 php-fpm: pool www
www-data   9352 43.8  0.5 222740 10260 ?        R    19:20   0:03 php-fpm: pool www
www-data   9353 36.5  0.5 222740 10268 ?        R    19:20   0:02 php-fpm: pool www# 程序占用内存大小2332224/1024/1024 =2.2 M[root@slave_1 server]# curl 127.0.0.1:8081/index.php/index/index
{"code":200,"msg":"ok","data":{"list":{"name":"ab压力测试Tp","img_url":""}},"memoryUsage":2332224}

在这里插入图片描述

3. Laravel压测

本次压测使用和ThinkPHP一致的压测参数

# 本例使用的laravel版本为 8.75
[root@master /]# ab -c 100 -n 1000 -k  http://192.168.40.130:8082/index.php/api/test
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software:        openresty/1.27.1.1
Server Hostname:        192.168.40.130
Server Port:            8082Document Path:          /index.php/api/test
Document Length:        109 bytesConcurrency Level:      100
Time taken for tests:   81.520 seconds
Complete requests:      1000
Failed requests:        879(Connect: 0, Receive: 0, Length: 879, Exceptions: 0)
Write errors:           0
Non-2xx responses:      879
Keep-Alive requests:    0
Total transferred:      6207779 bytes
HTML transferred:       5836564 bytes
Requests per second:    12.27 [#/sec] (mean)
Time per request:       8152.002 [ms] (mean)
Time per request:       81.520 [ms] (mean, across all concurrent requests)
Transfer rate:          74.37 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    7   8.5      4     100
Processing:   185 7739 1390.8   8069    8764
Waiting:      185 7737 1390.5   8065    8764
Total:        223 7745 1387.0   8072    8772Percentage of the requests served within a certain time (ms)50%   807266%   817675%   825380%   829690%   841895%   852398%   861499%   8661100%   8772 (longest request)
# php-fpm信息
[root@slave_1 server]# ps -axu | grep php-fpm
root        984  0.0  0.5 220476 10040 ?        Ss   1月04   0:12 php-fpm: master process (/soft/php_7_4_33/etc/php-fpm.conf)
www-data   9442  0.8  1.2 235528 23620 ?        R    19:47   0:53 php-fpm: pool www
www-data  10061 21.2  1.2 235284 23268 ?        R    21:23   0:47 php-fpm: pool www
www-data  10062 19.9  1.2 235284 23308 ?        R    21:23   0:43 php-fpm: pool www
www-data  10077 40.2  1.2 235284 23268 ?        R    21:27   0:13 php-fpm: pool www
www-data  10078 38.3  1.2 235284 23272 ?        R    21:27   0:12 php-fpm: pool www
# 接口占用内存大小  14337504/1024/1024 = 13.67M
[root@master /]# curl http://192.168.40.130:8082/index.php/api/test
{"code":200,"msg":"ok","data":{"list":{"name":"ab压力测试laravel","img_url":"","$memoryUsage":14337504}}}

laravel压测

4. CodeIgniter压测

# 本例使用的CodeIgniter版本为3
[root@master ~]# ab -c 100 -n 1000 -k http://192.168.40.130:8083/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software:        openresty/1.27.1.1
Server Hostname:        192.168.40.130
Server Port:            8083Document Path:          /
Document Length:        109 bytesConcurrency Level:      100
Time taken for tests:   6.985 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      278000 bytes
HTML transferred:       109000 bytes
Requests per second:    143.17 [#/sec] (mean)
Time per request:       698.476 [ms] (mean)
Time per request:       6.985 [ms] (mean, across all concurrent requests)
Transfer rate:          38.87 [Kbytes/sec] received
Percentage of the requests served within a certain time (ms)50%    73866%    75475%    76080%    76490%    77495%    78298%    79399%    798100%    834 (longest request)# php-fpm占用内存大小[root@slave_1 server]# ps -aux | grep php-fpm 
root        987  0.0  0.5 220476 10028 ?        Ss   1月05   0:01 php-fpm: master process (/soft/php_7_4_33/etc/php-fpm.conf)
www-data   1044  0.0  0.4 220540  7932 ?        R    1月05   0:02 php-fpm: pool www
www-data   1045  0.0  0.4 220540  7952 ?        R    1月05   0:03 php-fpm: pool www
www-data   1860 36.1  0.4 220540  7688 ?        R    00:29   0:02 php-fpm: pool www
www-data   1861 34.4  0.4 220540  7688 ?        R    00:29   0:01 php-fpm: pool www
www-data   1862 27.5  0.4 220540  7688 ?        R    00:29   0:01 php-fpm: pool www
# 框架代码占用内存大小 1192928/1024/1024 =1.14M
[root@master ~]# curl http://192.168.40.130:8083/
{"code":200,"msg":"ok","data":{"list":{"name":"ab压力测试CI框架","img_url":"","$memoryUsage":1192928}}}

CI框架运行

5. EasySwoole压测

# 压测参数 
#本例使用的swoole版本是 swoole version 4.8.0
#使用的EaSwoole版本是 3.5.1
[root@master ~]# ab -c 500 -n 10000 -k  http://192.168.40.130:9501/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software:        EasySwoole
Server Hostname:        192.168.40.130
Server Port:            9501
Document Path:          /
Document Length:        105 bytes
Concurrency Level:      500
Time taken for tests:   0.666 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    10000
Total transferred:      2510000 bytes
HTML transferred:       1050000 bytes
Requests per second:    15004.04 [#/sec] (mean)
Time per request:       33.324 [ms] (mean)
Time per request:       0.067 [ms] (mean, across all concurrent requests)
Transfer rate:          3677.75 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    1   4.9      0      25
Processing:     2   29  15.6     25      85
Waiting:        1   29  15.6     25      85
Total:          2   30  16.3     26      85Percentage of the requests served within a certain time (ms)50%     2666%     3475%     4080%     4490%     5595%     6598%     7099%     73100%     85 (longest request)# EasySwoole相关进程占用内存大小[root@slave_1 easySwoole]# ps -axu | grep EasySwoole 
root       1537  0.1  0.8 400924 16288 pts/0    Sl+  22:30   0:00 EasySwoole
root       1538  0.0  0.4 254616  8812 pts/0    S+   22:30   0:00 EasySwoole.Manager
root       1539  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.0
root       1540  0.0  0.5 258900  9352 pts/0    S+   22:30   0:00 EasySwoole.Worker.1
root       1541  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.2
root       1542  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.3
root       1543  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.4
root       1544  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.5
root       1545  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.6
root       1546  0.0  0.5 258900  9348 pts/0    S+   22:30   0:00 EasySwoole.Worker.7
root       1547  0.0  0.5 260952  9572 pts/0    S+   22:30   0:00 EasySwoole.TaskWorker.0
root       1548  0.0  0.5 260952  9568 pts/0    S+   22:30   0:00 EasySwoole.TaskWorker.1
root       1551  0.0  0.5 260952  9572 pts/0    S+   22:30   0:00 EasySwoole.TaskWorker.2
root       1552  0.0  0.5 260952  9568 pts/0    S+   22:30   0:00 EasySwoole.TaskWorker.3
root       1553  0.0  0.5 260952  9560 pts/0    S+   22:30   0:00 EasySwoole.Bridge
# EasySwoole代码占用内存 4160392/1024/1024 = 3.97M
[root@master ~]# curl   http://192.168.40.130:9501/
{"code":200,"msg":"ok","data":{"list":{"name":"ab:easySwoole:test","img_url":"","$memoryUsage":4160392}}}

压测时的cpu

三、 压测数据汇总

框架QPS接口响应时间框架占用内存大小压测参数服务器RES内存大小
webman14133111 ms2.12 Mab -c 500 -n 10000 -k9.2 M
CodeIgniter(CI框架)143111 ms1.14 Mab -c 100 -n 1000 -k7.5 M
ThinkPHP731646 ms2.2 Mab -c 100 -n 1000 -k10 M
Laravel128772 ms13.67 Mab -c 100 -n 1000 -k22.8 M
EasySwoole1500485 ms3.97 Mab -c 500 -n 10000 -k9.1 M

四 、框架优缺点对比

4.1 Webman

优点: 高性能,轻量级,灵活部署,学习成本低,易于集成和扩展
缺点: 生态相对较小,不适合大型复杂项目

4.2 CodeIgniter

优点: 简单易用,快速开发,资源占用少,轻量级且高效,良好的兼容性
缺点:功能相对有限,学习资料相对较少,不是很适合现代大型应用开发

4.3 ThinkPHP

优点: 功能丰富强大,易于上手,社区活跃,易于上手,支持多种开发模式
缺点: 性能方面有提升空间,框架较复杂

4.4 Laravel

优点: 优雅的语法和设计模式,强大的生态系统,内置功能丰富,活跃的社区支持
缺点: 学习成本较高,性能在某些场景下受影响,部署相对复杂,资源占用较多

4.5 EasySwoole

优点: 高性能异步处理,多协议支持,适合开发微服务和分布式应用,功能全面,可扩展性强,适用于对稳定性要求较高的生产环境

缺点: 学习难度较大,生态相对较小,代码调试相对困难,对 PHP 版本和 Swoole 扩展有要求,不适合传统 PHP 开发模式


总结

以上就是今天要讲的内容,本文仅简单介绍每种框架 使用相同的参数,在相同的虚拟机环境下进行压测,粗略预估下一下各框架的性能,在实际开发过程中,应充分考虑到,各框架学习成本,开发人员的技术储备,成本维护,以及框架社区活跃度,技术资料是否丰富,以及项目复杂度等等,综合考虑,来决定选择哪种框架。

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

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

相关文章

新闻发布及管理系统

文末附有完整项目代码 在信息飞速传播的时代&#xff0c;新闻发布及管理系统变得愈发重要。本文将详细介绍如何设计并实现这样一个系统。 一、项目背景 随着电脑、智能手机等设备的普及&#xff0c;各种网站应运而生。而信息发布是网络的一大特点&#xff0c;人们上网主要是为…

sklearn-逻辑回归-制作评分卡

目录 数据集处理 分箱 分多少个箱子合适 分箱要达成什么样的效果 对一个特征进行分箱的步骤 分箱的实现 封装计算 WOE 值和 IV值函数 画IV曲线&#xff0c;判断最佳分箱数量 结论 pd.qcut 执行报错 功能函数封装 判断分箱个数 在银行借贷场景中&#xff0c;评分卡是…

Http请求响应——请求

Http概述 Http协议&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;&#xff0c;是一种用于传输网页数据的协议&#xff0c;规定了浏览器和服务器之间进行数据传输的规则&#xff0c;简单说来就是客户端与服务器端数据交互的数据格式。 客户端…

python学opencv|读取图像(三十一)缩放图像的三种方法

【1】引言 前序学习进程中&#xff0c;我们至少掌握了两种方法&#xff0c;可以实现对图像实现缩放。 第一种方法是调用cv2.resize()函数实现&#xff0c;相关学习链接为&#xff1a; python学opencv|读取图像&#xff08;三&#xff09;放大和缩小图像_python opencv 读取图…

封装红黑树实现map和set

本博客需要红黑树和搜索树二叉树的一些知识以及熟悉map和set的相关函数和迭代器&#xff0c;如果读者还不熟悉可以看这三篇博客&#xff1a;红黑树、二叉搜索树、map、set的使用 红黑树的封装 STL30源码分析 如果想到封装&#xff0c;大家应该会直接把RBtree复制两份&#x…

关于使用FastGPT 摸索的QA

近期在通过fastGPT&#xff0c;创建一些基于特定业务场景的、相对复杂的Agent智能体应用。 工作流在AI模型的基础上&#xff0c;可以定义业务逻辑&#xff0c;满足输出对话之外的需求。 在最近3个月来的摸索和实践中&#xff0c;一些基于经验的小问题点&#xff08;自己也常常…

LeetCode 热题 100_二叉树的最近公共祖先(48_236_中等_C++)(二叉树;深度优先搜索)

LeetCode 热题 100_二叉树的最近公共祖先&#xff08;48_236&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;深度优先搜索&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一&#xff08;深度优…

HTTP/HTTPS ②-Cookie || Session || HTTP报头

这里是Themberfue 上篇文章介绍了HTTP报头的首行信息 本篇我们将更进一步讲解HTTP报头键值对的含义~~~ ❤️❤️❤️❤️ 报头Header ✨再上一篇的学习中&#xff0c;我们了解了HTTP的报头主要是通过键值对的结构存储和表达信息的&#xff1b;我们已经了解了首行的HTTP方法和UR…

PyCharm+RobotFramework框架实现UDS自动化测试——(二)RobotFramework环境配置

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者&#xff0c;时光不负有心人。 文章目录 1.环境准配2.Pycharm中相关配置2.1. 安装Hyper RobotFramework Support 3.脚本执行环境3.1 执行单条的配置3.2 执行全部用例配置 4.工程运行4.1 单条用例运行4.…

Android原生开发同一局域网内利用socket通信进行数据传输

1、数据接收端代码如下&#xff0c;注意&#xff1a;socket 接收信息需要异步运行&#xff1a; // port 端口号自定义一个值&#xff0c;比如 8888&#xff0c;但需和发送端使用的端口号保持一致 ServerSocket serverSocket new ServerSocket(port); while (true) {//这里为了…

腾讯云AI代码助手编程挑战赛-算法小助手

作品简介 一个可以帮助学习计算机各种算法的AI小助手&#xff0c;提升工作效率。 技术架构 使用Html语言完成图形化页面的样式&#xff0c;使用JavaScript语言来操作对应的逻辑代码。 实现过程 1、创建一个界面 2、获取数据 3、添加按钮与功能 4、程序优化调试 开发环境…

使用 IntelliJ IDEA 创建简单的 Java Web 项目

以下是使用 IntelliJ IDEA 创建几个简单的 Java Web 项目的步骤&#xff0c;每个项目实现基本的登录、注册和查看列表功能&#xff0c;依赖 Servlet/JSP 和基本的 Java Web 开发。 前置准备 确保安装了 IntelliJ IDEA Ultimate&#xff08;社区版不支持 Web 应用&#xff09;。…

抓包工具之mitmproxy

一、mitmproxy简介 mitmproxy介绍 mitmproxy又名中间人攻击代理&#xff0c;是一个抓包工具&#xff0c;类似于WireShark、Filddler&#xff0c;并且它支持抓取HTTP和HTTPS协议的数据包&#xff0c;只不过它是一个控制台的形式操作。另外&#xff0c;它还有两个非常有用的组件…

Flutter项目开发模版,开箱即用(Plus版本)

前言 当前案例 Flutter SDK版本&#xff1a;3.22.2 本文&#xff0c;是由这两篇文章 结合产出&#xff0c;所以非常建议大家&#xff0c;先看完这两篇&#xff1a; Flutter项目开发模版&#xff1a; 主要内容&#xff1a;MVVM设计模式及内存泄漏处理&#xff0c;涉及Model、…

rk3568 , buildroot , qt ,使用sqlite, 动态库, 静态库

问题说明&#xff1a; 客户反馈 &#xff0c;buildroot 系统 &#xff0c;使用qt 使用sqlite &#xff0c;有报错&#xff0c;无法使用sqlite. 测试情况说明&#xff1a; 我自己测试&#xff0c;发现&#xff0c; buildroot 自己默认就是 使能了 sqlite 的。 是否解决说明&…

投机解码论文阅读:Falcon

题目&#xff1a;Falcon: Faster and Parallel Inference of Large Language Models through Enhanced Semi-Autoregressive Drafting and Custom-Designed Decoding Tree 地址&#xff1a;https://arxiv.org/pdf/2412.12639 一看它的架构图&#xff0c;可以发现它是基于EAGLE…

鸿蒙UI(ArkUI-方舟UI框架)

参考&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-layout-development-overview-V13 ArkUI简介 ArkUI&#xff08;方舟UI框架&#xff09;为应用的UI开发提供了完整的基础设施&#xff0c;包括简洁的UI语法、丰富的UI功能&#xff…

TensorFlow Quantum快速编程(基本篇)

一、TensorFlow Quantum 概述 1.1 简介 TensorFlow Quantum(TFQ)是由 Google 开发的一款具有开创性意义的开源库,它宛如一座桥梁,巧妙地将量子计算与 TensorFlow 强大的机器学习功能紧密融合。在当今科技飞速发展的时代,传统机器学习虽已取得诸多瞩目成就,然而面对日益…

Qt天气预报系统获取天气数据

Qt天气预报系统获取天气数据 1、获取天气数据1.1添加天气类头文件1.2定义今天和未来几天天气数据类1.3定义一个解析JSON数据的函数1.4在mainwindow中添加weatherData.h1.5创建今天天气数据和未来几天天气数据对象1.6添加parseJson定义1.7把解析JSON数据添加进去1.8添加错误1.9解…

国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档

1 扩展脚本&#xff1a;关闭所有未修改文档 1.1 应用场景 当用户打开过多文档时&#xff0c;部分文档已经修改&#xff0c;而大部分没有修改&#xff0c;为了减少在众多已打开文档中来回跳转的不便&#xff0c;可以将没有修改的文档全部关闭&#xff0c;但目前提供的快速关闭窗…