这是一个专门的编程语言/编译器速度测试/对比网站(http://shootout.alioth.debian.org/)给出的题目,
以下是EF源代码:
//fannkuch
public final class 启动类 <作者 = "liigo">
{
public static main()
{
int n = 11;
int time = 运行环境.取启动时间();
控制台.输出("Pfannkuchen(", n, ") = ", fannkuch(n), "\n");
控制台.输出行("time(ms): ", 运行环境.取启动时间() - time);
控制台.输入文本();
}
static int fannkuch(int n)
{
int[] perm = new int[n];
int[] perm1 = new int[n];
int[] count = new int[n];
int flips;
int flipsMax;
int r;
int i;
int k;
int didpr;
int n1 = n - 1;
if( n < 1 ) return 0;
for(i=0; i<n; i++) perm1[i] = i;
/* initial (trivial) permu */
r = n;
didpr = 0;
flipsMax = 0;
for(;;)
{
if( didpr < 30 )
{
for( i=0;i<n;i++ ) 控制台.输出(1+perm1[i]);
控制台.输出行("");
didpr++;
}
for(;r!=1;r--)
{
count[r-1] = r;
}
if(!(perm1[0]==0 || perm1[n1]==n1) )
{
flips = 0;
for( i=1;i<n;i++ )
{
perm[i] = perm1[i];
}
k = perm1[0];
/* cache perm[0] in k */
do
{
/* k!=0 ==> k>0 */
int j;
for( {i=1; j=k-1;}; i<j; {i++; j--;} )
{
int t_mp = perm[i];
perm[i] = perm[j];
perm[j] = t_mp;
}
flips++;
/* * Now exchange k (caching perm[0]) and perm[k] */
j=perm[k];
perm[k]=k;
k=j;
}
while(k != 0);
if( flipsMax < flips )
{
flipsMax = flips;
}
}
for(;;)
{
if( r == n )
{
return flipsMax;
}
/* rotate down perm[0..r] by one */
int perm0 = perm1[0];
i = 0;
while( i < r )
{
k = i+1;
perm1[i] = perm1[k];
i = k;
}
perm1[r] = perm0;
count[r] -= 1;
if( count[r] > 0 )
{
break;
}
r++;
}
}
}
}
这个EF程序,在我的机器上,运行耗时约37 秒。相应的VC6最佳优化后运行耗时约5.8 秒。
其它编程语言/编译器的表现,请看这里:http://shootout.alioth.debian.org/gp4/benchmark.php?test=fannkuch&lang=all
总的来说,EF表现不坏。比不少编程语言(如C++, JAVA, C#, D, Fortran, Pascal)慢很多,又比另外不少编程语言(如Erlang, Python, Ruby, Perl, PHP, Lua, Groovy, SmallTalk, JavaScript)快很多。
进一步分析的话:EF作为编译型语言,通常比其它编译型语言都慢(毕竟EF编译器尚未优化),最多慢7倍;EF通常比解释型语言都要快,往往快数倍、数十倍,以至上百倍。
还有很多测试题目,有时间再继续。想了解EF语言,请到EF官方博客:http://blog.csdn.net/efdev/
分享到:
相关推荐
- **SunSpider-Access-Fannkuch**: 这个测试中,RISC-V 64位的指令数量为397228043,MIPS 64位为345380701,差值为51847342,即RISC-V比MIPS多执行了约15.01%的指令。 - **Octane-Box2D**: 在这个测试中,RISC-V 64...
Crates.io版本无法再更新! 原始维护者已失去联系,新维护者(Portable SIMD项目组)没有适当的crates.io权限来发布更新。 我们知道crates.io上... fannkuch_redux matrix inverse mandelbrot n-body options_p
# 基于Spring Boot和JWT的饮品管理系统 ## 项目简介 本项目是一个基于Spring Boot框架的饮品管理系统,主要用于管理饮品分类、商品信息、员工登录及权限管理等功能。系统通过JWT(JSON Web Token)实现用户身份验证和授权,确保系统的安全性和可靠性。 ## 项目的主要特性和功能 1. 商品管理包括商品的添加、编辑、删除和查询功能,支持分页查询和按分类查询。 2. 分类管理支持饮品分类的添加和查询,方便用户按类别浏览商品。 3. 员工登录与权限管理实现员工登录功能,并根据员工角色分配不同的菜单权限。 4. 图片上传与管理支持商品图片的上传和更新,确保商品信息的完整性。 5. 验证码生成与验证提供图形验证码的生成和验证功能,增强系统的安全性。 6. JWT身份验证使用JWT实现用户身份验证和授权,确保系统的安全性和可靠性。 ## 安装使用步骤 1. 复制项目 bash 2. 配置数据库
c语言
佳能打印机清零软件和教程
双哥微服务
python项目4.每天不同时间段通过微信发消息提醒女友
两个半小时玩转iOS缓存之YYCache、视频讲解详细清晰.wmv
基于Python语言下Django框架的一个网站式的诊所管理系统 这是一个基于Python语言下Django框架的一个网站式的诊所管理系统,Python的版本为2.7。该系统是一个课程设计,毕业整理资料是觉得发表到码云上更利于保存,但因为个人原因数据库文件没有保存。该项目前端使用了bootstrap框架,完成了小型诊所的日常办公需要。
c语言
<项目介绍> - 基于双流 Faster R-CNN 网络的 图像篡改检测 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
c语言
环境说明: 开发语言:Java/php JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea 小程序框架:uniapp/原生小程序 开发工具:HBuilder X/微信开发者
c语言
内容概要:本文档详细介绍了RagFlow系统的安装步骤,包括两种主要方法:一是利用Docker容器化部署,需要加载并运行多个Docker镜像;二是源码编译安装,涉及拉取GitHub仓库、配置环境变量以及手动启动多项依赖服务。此外,文中提供了下载必要文件的百度网盘链接及提取码,确保了所有所需的安装资料均可顺利获取。 适用人群:对于RagFlow有兴趣或需要集成使用的软件开发者,尤其是具有一定Linux操作经验和Docker使用背景的技术人员。 使用场景及目标:本教程适用于想要快速搭建RagFlow系统的研究人员和技术团队,帮助他们高效地完成安装与初始化设置,以便于后续的应用开发或者功能测试。 阅读建议:在阅读前先确保自己的计算机环境满足基本的要求,比如已经安装好Docker引擎等工具;并且推荐先浏览一遍全文,形成大致的操作流程概念后再具体执行各步骤;遇到不明确的地方时,应及时查阅相关组件官方文档补充知识点。
机芯:8A13、8A16 强制升级方法说明: 1、将升级压缩包(updatek1.zip、uImage_recoveryk1、factory_update_param.aml、aml_autoscript文件)存入U盘的根目录。 2、电视断电后将U盘或SD卡插入电视机的相应端口,长按待机键上电,等15秒左右松开按键。系统会自动进行升级。 3、升级时,OSD会提示系统自动关机,此时不能对电视机进行操作,请等待电视机自动重启,重启后才进入真正的升级阶段,电源指示灯会红蓝灯闪烁,此时屏幕上会显示齿轮和升级进度。 4、待升级完成后,系统会自动重启电视机,升级后的第一次重启的开机速度会比平时长3-5分钟(数据拷贝需要一些时间),请勿在此阶段关机,以避免数据拷贝出错导致系统异常。 注意: 1、U盘要求使用FAT32格式,建议4G-8G的品牌U盘,刷机成功率会高 2、升级到结束,大约需要8-30分钟,中途绝对不能断电 3、升级重启第一次进入系统,请等完全正常进入开机桌面之后,才能拨下U盘
项目名称: 基于Python+Django+Vue3+Uni-App+MySQL实现的前后端分离的影城微信小程序+PC端管理后台(数据库+源码) 技术栈: 开发工具:PyCharm,HBuilderX, Visual Studio Code (VSCode) 运行环境:Python 3.10,MySQL 8.0,Node.js 18 技术框架:Django 5,Vue 3.4,Element Plus 2.6, Uni-App 项目功能不复杂,大部分都是小程序静态展示,适合小白新手去学习! 项目功能包括: 1.微信小程序端 首页:展示轮播图,路线,门票信息 地图:展示园区地图(静态图片) 商城:显示影城门票,登录后,可以完成购买门票流程。 我的:可以登录,登录后进入我的个人中心。 我的个人中心:可以我的个人信息,查看我的订单,付款,退款操作。查看我的收藏,可以查询常见问题。 VIP会议,可以定制行程,通过调查问卷的形式,生成定制化的旅游路线。 2.管理员后台端 管理员:可以查询订单,可以处理订单退款操作。
MTK DTV芯片规格书:MT9255BBANAD-pb2
测试用例及测试计划.zip
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作