编绎和优化,脚本代码小米加步枪赶超英法美

编程达人:冰冻牡蛎 测试,总结》》

今有空,继续看了一下竹笋大师几天前提出的“使用for循环查找10亿内可被7整除的数的个数”的题目(相关文件:群文件 10亿以内多少个数字可以整除7.7z )

1. 论输出的exe大小,purebasic最小;其它编译器输出的exe比它大, 甚至大很多——毫无疑问,大家知道我是说GO。工具/语言nelua(使用的是扩展版的lua语言)、shedskin(使用的是python的子集)、nim、freebasic、purebasic、rapideuphoria都是借助gcc;所以,“都是借助GCC,没有可比性”就是胡扯

2. 同是输出C之后、再调用gcc编译为exe,工具/语言nelua(使用的是扩展版的lua语言)、shedskin(使用的是python的子集)、nim、freebasic1.09、rapideuphoria产生的exe,与C版本的速度一致;但是purebasic速度慢得多(耗时是前排队友的17倍)。所以,“都是借助GCC,没有可比性”就是胡扯——还都是上班呢,马云那么多钱,我却是个穷屌丝

3.  对于freeebasic,1.09版本消耗的时间,是1.06版本的1/2

4.  对于purebasic,5.73和6.02版本消耗的时间大致一样

5. purebasic版本耗时,与freepascal版本接近;比freepascal版本略微慢一点

6. 对于脚本,官方lua版本速度,至少是官方python版本的2.8倍

7. 对于脚本,pypy版本速度,是luajit版本的1.2-3倍

8. purebasic/freepascal版本速度是luajit/pypy的3-5倍

9. 同为pascal系,PascalABC.NET版本速度,是freepascal版本的7.5倍以上

10. 同是.NET上的语言,可以输出.NET的exe,PascalABC.NET版本速度,是 IronPython版本的30倍~几百倍

11. 同是.NET、且可以输出.NET的exe的语言,PascalABC.NET版本只输出一个exe,可以直接发布到有.NET Framework的电脑上运行;但是IronPython版本输出的exe,依赖好几个DLL

12. 多数语言的耗时,是随着查找范围增大,而大致线性增加——这符合预期。但是,这里中出了3个叛徒
12.1 对于luajit,20亿的速度比10亿、30亿都多得多
12.2 官方python的速度,随数字增大,耗时多得可怕
12.3 对于Ironpython,随数字增大,耗时多得可怕,且不是简单线性

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

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

相关文章

2.3 【MySQL】命令行和配置文件中启动选项的区别

在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-file 、 defaults-file 这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。 如果同一个启动选…

数据库集群的简单了解

Update 关于操作的日志 1.0 redo log 读一次写一次 一共2次, 不安全 注意redo log是顺写 而file是随机 所以Mysql做出类似HDFS的操作 行为日志和数据分离,但是不同的是,Mysql在内存中操作修改,如果不出事故,由内存中的行为来直接…

自然语言处理实战项目16- 基于CPU的大语言模型的实战训练全流程指导,模型调优与评估

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目16- 基于CPU的生成式大语言模型的实战训练全流程详细讲解,模型调优与评估。该流程涵盖了数据准备、数据预处理、词表构建、模型选择与配置、模型训练、模型调优和模型评估等步骤。通过不断迭代和优化,可以提高模型…

Android——基本控件(下)(二十)

1. 树型组件:ExpandableListView 1.1 知识点 (1)掌握树型组件的定义; (2)可以使用事件对树操作进行监听。 2. 具体内容 既然这个组件可以完成列表的功能,肯定就需要一个可以操作的数据&…

leetcode 567. 字符串的排列(滑动窗口-java)

滑动窗口 字符串的排列滑动窗口代码演示进阶优化版 上期经典 字符串的排列 难度 -中等 leetcode567. 字符串的排列 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句…

解决华为云ping不通的问题

进入华为云控制台。依次选择:云服务器->点击服务器id->安全组->更改安全组->添加入方向规则,添加一个安全组规则(ICMP),详见下图 再次ping公网ip就可以ping通了 产生这一问题的原因是ping的协议基于ICMP协…

老年人跌倒智能识别算法 opencv

老年人跌倒智能识别算法通过opencvpython深度学习算法框架模型,老年人跌倒智能识别算法能够及时发现老年人跌倒情况,提供快速的援助和救援措施,保障老年人的安全。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得…

【Docker系列】push镜像报错问题解决方案

1 问题描述 docker push 报这个错,unknown blob 详细报错内容: Use docker scan to run Snyk tests against images to find vulnerabilities and learn how to fix them The push refers to repository [192.******/*******/*************] 3b3341e9d03…

给oracle逻辑导出clob大字段、大数据量表提提速

文章目录 前言一、大表数据附:查询大表 二、解题思路1.导出排除大表的数据2.rowid切片导出大表数据Linux代码如下(示例):Windows代码如下(示例):手工执行代码如下(示例)&…

React【React是什么?、创建项目 、React组件化、 JSX语法、条件渲染、列表渲染、事件处理】(一)

文章目录 React是什么? 为什么要学习React React开发前准备 创建React项目 React项目结构简介 React组件化 初识JSX 渲染JSX描述的页面 JSX语法 JSX的Class与Style属性 JSX生成的React元素 条件渲染(一) 条件渲染 &#xff0…

深入了解fcntl函数:Linux系统编程中的文件控制

文章目录 概述介绍函数原型与参数 拓展:fcntl改文件属性总结 概述 摘要: fcntl函数是Linux系统编程中一个重要的函数,用于对文件描述符进行各种控制操作。本文将详细介绍fcntl函数的原型、各个参数的用法,以及阻塞和非阻塞模式切换的方法&am…

Redis Pub/Sub 指南

Redis 不仅仅是一个数据库,还可以作为支持发布和订阅(Pub/Sub)操作的消息代理。本文将使用 Navicat for Redis 简要概述 Redis 的 Pub/Sub 功能。 关于发布或订阅消息范式 Pub/Sub 是一种模式,发送者(广播者&#xf…