建设集团网站福州 网站建设

南京蓝光文化传媒有限公司 2026/09/09 17:56:17

将利用DeepSeek辅助改造30行DLX求解数独python程序 和 调用python函数的不同方法效率对比测试 的代码整合在一起

只要把代码粘贴到一个文件,比如duckudf.py,然后增加如下语句

duckdb.create_function("solve_single_sudoku",solve_single_sudoku)#, [VARCHAR, [[VARCHAR]], BIGINT)s=""" select solve_single_sudoku('000080304250100090000003000040020030006090800700310009000000080602000053004002900'); """t=time.time();print(duckdb.sql(s));print(time.time()-t)

并修改以下函数的定义,添加参数和返回值类型

defsolve_single_sudoku(sudoku_str:str)->str:

并删除原有的自定义函数及全局的代码块

if__name__=="__main__":# 运行文档测试importdoctest doctest.testmod()# 运行主函数main()

然后用如下命令行测试

C:d>timer64 python duckudf.py 1 ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ solve_single_sudoku('000080304250100090000003000040020030006090800700310009000000080602000053004002900') │ │ varchar │ ├──────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 167589324253174698498263175941827536326495817785316249579631482612948753834752961 │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 0.25064992904663086 Kernel Time = 0.156 = 35% User Time = 0.234 = 52% Process Time = 0.390 = 87% Virtual Memory = 541 MB Global Time = 0.445 = 100% Physical Memory = 90 MB C:d>timer64 python pydlx4path.txt [[0, 0, 0, 0, 8, 0, 3, 0, 4], [2, 5, 0, 1, 0, 0, 0, 9, 0], [0, 0, 0, 0, 0, 3, 0, 0, 0], [0, 4, 0, 0, 2, 0, 0, 3, 0], [0, 0, 6, 0, 9, 0, 8, 0, 0], [7, 0, 0, 3, 1, 0, 0, 0, 9], [0, 0, 0, 0, 0, 0, 0, 8, 0], [6, 0, 2, 0, 0, 0, 0, 5, 3], [0, 0, 4, 0, 0, 2, 9, 0, 0]] [[1, 6, 7, 5, 8, 9, 3, 2, 4], [2, 5, 3, 1, 7, 4, 6, 9, 8], [4, 9, 8, 2, 6, 3, 1, 7, 5], [9, 4, 1, 8, 2, 7, 5, 3, 6], [3, 2, 6, 4, 9, 5, 8, 1, 7], [7, 8, 5, 3, 1, 6, 2, 4, 9], [5, 7, 9, 6, 3, 1, 4, 8, 2], [6, 1, 2, 9, 4, 8, 7, 5, 3], [8, 3, 4, 7, 5, 2, 9, 6, 1]] Kernel Time = 0.000 = 0% User Time = 0.031 = 87% Process Time = 0.031 = 87% Virtual Memory = 7 MB Global Time = 0.035 = 100% Physical Memory = 12 MB C:d>

第一个命令行是调用duckdb执行自定义函数,第二个是直接执行python程序。可见调用duckdb执行自定义函数的用时是后者15倍,内存占用也放大了很多倍。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

广州市网站建设河北网站建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:创建一个跨境电商解决方案演示项目,包含:1. 多

2026/06/30 10:01:18

招商网站建设胶州网站建设

网络文件传输与备份实用指南在网络环境中,我们常常需要在不同的主机之间安全地复制、传输和备份文件,同时也需要非交互式地下载文件。本文将介绍一些实用的命令和工具,帮助你高效地完成这些任务。1. 服务器常用

2026/06/30 12:44:03

建设部网站顺德网站建设

PyTorch-CUDA-v2.6镜像构建原理剖析:FROM哪个基础镜像?在深度学习工程实践中,环境配置的复杂性常常让开发者望而却步。明明代码逻辑无误

2026/06/30 11:32:26

寿光网站建设建设个人网站

在 Python 中获取列表嵌套字典(多层嵌套)的键值对,需要根据数据的嵌套层级、结构是否固定,选择直接访问、循环遍历、递归解析或专用库查询等方

2026/06/30 11:13:24

网站建设工作室莱州网站建设

在生成式AI与语音交互技术快速发展的当下,如何高效构建低延迟、个性化、自然对话体验的智能语音Agent,已逐渐成为业界关注的焦点之一。智能语音Agent的应用领域广泛&#x

2026/06/30 12:27:31

住房和城乡建设部网站湖北网站建设

在当今数据驱动的商业环境中,企业面临着日益增长的数据可视化需求。传统的图表库往往难以满足个性化展示要求,而定制开发又面临成本高、周期长的挑战。Charticulator作为

2026/06/30 13:40:06

温州网站建设服装网站建设

comsol水声超表面反射系数与反射相位计算。打开模型树先给几何结构来点硬核配置。假设咱们设计的是锯齿状超表面单元,用AppendAxisymmetric搞个二维轴对称模型省点计算量。材

2026/06/30 14:01:08

互动网站建设建设网站建设

Journal of Modern Science and Scientific Methods-很多没有被收录的英文期刊经常发邮件邀稿,能投吗,感觉没啥用啊RE: Call for Scholarl

2026/06/30 11:32:26