主页
Top.Mail.Ru Yandeks.Metrika
论坛:“抢”;
当前存档:2002.04.01;
下载:[xml.tar.bz2];

向下

在你的祈祷中记住我 - 在不久的将来我注定要去Fortran =( 找到类似的分支


Fellomena   (2002-02-13 15:53) [0]

是的,兄弟们在工艺中,所以折磨我们,德尔福的追随者......我是一个变态谁让我用某种臭臭的DigitalFortran编程。
你看他是否需要对计算机性能进行综合测试。 我跟他说 - 让我们在Delphi上或者在旧的OP 7上做,我会这样做,因为他吐了口水,他全都肿了 - 好吧,我觉得现在“桅杆dAy,SUXXX,lamo”等等。 它会匆匆忙忙,已经准备好把它放到眼前,但它膨胀出来并且轻蔑地贬低浮点Fortran据说效果更好的一句话,但他听到了一些关于Delphi的东西......但是不值得。
这个测试是他教他愚蠢学生的必要条件。
我没有看到Fortran的眼睛 - 他把我放在他身后说 - 写,而他自己,一个婊子的儿子,看起来和假笑。
我已经设法将所有内容从40中挤出大约半分钟(我在论坛中向主持人道歉;):
程序FELLOMENA01 使用DFPORT 隐含无 真实的i,j,k,f REAL(8)elapsed_time i = 10E + 6 j = 0 k = 0 print *,“输入参数:” 读(*,*)f elapsed_time = TIMEF() Do While(k.Le.i) !print *,j +(sqrt(abs(sin(i * j)+ cos(i + j)))+ f) j = j +(sqrt(abs(sin(i * j)+ cos(i + j)))+ f) k = k + 1 ENDDO elapsed_time = TIMEF() 打印“” PRINT *,elapsed_time 打印*,j 结束程序FELLOMENA01
Bredyatina更多......
该男子说 - 无论如何,他说,有更多的阵列,虚拟内存被加载,通常传达更复杂!
我甚至不知道8的语法(
谁可以告诉我什么 - 谁可以为年轻一代的DigitalFortran提供短期课程?
我在写作和哭泣......



Юрий Зотов (M)   (2002-02-13 16:21) [1]

> Fortran浮点效果最好,

顺便说一句,在这里,他是对的。 Fortranah的语法一直处于凳子的水平,有什么需要学习的? 所有图书馆的文献总是满满的。



MBo   (2002-02-13 16:39) [2]

在Fortran上了解Pascal并不是那么难写。 关于浮点,显然是正确的 - 碰巧转换成C或Pascal的子程序失去准确性 - 我注意到复杂矩阵算法,它是关键的



Виктор Щербаков   (2002-02-13 16:40) [3]

大约两年前,一个相当大的程序正在从一些Fortran方言翻译成Pascal。 事实证明这很简单(如果你没有考虑到GOTO动辄来源的糟糕风格)。

我想,你会毫无疑问地理解。 毕竟,Fortran不是面向对象的,因此语法中的抽象更少。



Виктор Щербаков   (2002-02-13 16:43) [4]

MBo©

>碰巧将子程序翻译成C或pascal
>失去准确性


有趣的是,绕过FPU的Fortran浮点工作?



MBo   (2002-02-13 17:21) [5]

一个谜 - 但它发生了。
也许编译器(MSVF)8087CW巧妙地放



Sergo   (2002-02-13 17:28) [6]

是的,你的叔叔真的是一个变态,但很高兴他没有深入挖掘阵列,Fortran的极限是七维阵列,它肯定存在。 我很乐意提供帮助,但没有什么,我们已经销毁了多年前Fortran 5上的所有条目:(。



VuDZ   (2002-02-13 18:09) [7]

2 Victor Shcherbakov - 备受好评:)
如果标准精度不够,请使用非32x位变量(它们仅适用于3dnow和SSE)又称单(浮点),但80位也称为扩展或者它们是什么......

但总的来说,C或Fortan更好,但使用英特尔编译器,它们确实可以生成非常快的代码。 手写速度更快



wicked   (2002-02-13 18:27) [8]

2 Fellomena
所以我不明白谁是笨蛋 - 叔叔或他的学生?....他是什么 - 他决定教他们的Fortran?...最好只是BASIC ....或logo ...... :)
或许这个问题的解决办法就是派一个叔叔,嗯?....



Макс Черных   (2002-02-13 18:57) [9]

但对我来说,线索的主题让我想起了一个很酷的故事。
1987g。 莫斯科,莫斯科国立技术大学命名。 鲍曼(当我在那里学习的时候,就是这样
被称为)。 在P6部门考试 - Cal。 技术自然
FORTRAN考试(也适用于欧盟1047)。
一个优秀的学生(正如名字,唉,忘了)在编写中写道:
... A = 10 ...

变量他显然没有被宣布。 其余的
该程序写得很完美。 所以一位名叫Vaulin的老师
把这个可怜的家伙放在一起怎么样? 2点。
进一步对话:
- (C)对于什么?????
- (P)怎么样? 在10 WHERE之后指向?
- (C)??
- (P)Fortran不是强类型语言,未以I,J,K,L,M,N开头显式声明的变量由编译器解释为整数,其他所有变量都解释为REAL。 如果你写A = 10。
一切都好,如果A = 10(没有点),那么编译时就是
添加了将整个10转换为有效10的过程。
- (C)但它会奏效。
- (P)这将是但不是最佳的。
- (C)但是这种转换的程序是在
千分之一秒。
- (P)假设你的这一行是在一个循环中执行的
100000000次。 那么时间的损失大约是2,7小时。
因此,以机器130rub为代价,损害祖国
将是350 RUB! 评估 - 两个!

然后学生们痛苦地笑了起来--Sly Schlosser切入了这一点。
(这部电影是“欧米茄选项”,如果有人不记得的话)




evgeg   (2002-02-13 19:46) [10]

用于数值计算的Fortran是迄今为止最好的语言。
没有一个编译器可以在生成的代码的效率中超越它。 数值计算中的所有结构都是完全没有必要的。



copyr25   (2002-02-13 19:47) [11]

记住,记住......只有,在我看来,
好吧,因为至少有一种高级语言是熟悉的 - 学会写给别人 - 两天,三天:))
我很久很久以前就在Fortran上了:))做了些什么......好吧,正常。
帕斯卡更好:)))



Fellomena   (2002-02-14 10:51) [12]

2全部:了解Fortran并不难,但我只是反感! 现在!

2 Victor Shcherbakov©(13.02.02 16:40):你会感到惊讶,但即使在空白和示例中的Microsoft Visual Fortran-e中仍然有GO TO
而你,imho,混淆了旧的Fortran和曾经被称为Digital的那个,但现在它进入了VisualStudio的制作 - 用它你甚至可以创建窗口...笨拙

2 VuDZ:又名扩展是在新的Fortran(我会告诉你作为一个新的专家;)REAL(8)有点叫:\

2邪恶:你可以派一个叔叔,但我是一个程序员,我必须保持品牌,然后关于我们Delphians,说话不好......

2再一次:顺便说一下,新的Fortran(视觉上的那个)你知道它可以用什么 - MFC,是的,是的,是的......

好的,谢谢大家的支持......



Королев   (2002-02-14 11:35) [13]

我开始使用FORTRAN ......非常可怕...非常错......
有很多与数学有关的工作,但这也是错误的...
不需要Fortran!



Юрий Зотов (M)   (2002-02-14 11:44) [14]

> Max Black

是的,在旧的Fortrans中就是这样(虽然老师,恕我直言,仍然过分 - 评估可以降低,但不能达到两个)。 但是,我认为,现代编译器变得更加智能,类似的缺陷也被消除了。

至少,现代Fortran编译器正在优化。 它已经说了很多。



> Victor Shcherbakov©(13.02.02 16:43)

当然,Fortran绕过FPU不起作用。 只是他们的编译器经常通过优化计算来“锐化”,因此在某些情况下,他们可以构建一个不是源代码正面的程序,而是考虑到计算机算法的特殊性。



VuDZ   (2002-02-14 13:18) [15]

以及英特尔编译器 - 他们有时会使用代码执行此操作,至少会停止,至少会失败。 是的,并且相同的prots会随你变态而变态 - 它们会改变命令的顺序等等:)。
英特尔Fortran编译器+直臂说==爆炸性混合
虽然,当你需要最快速的计算 - 汇编程序将拯救俄罗斯民主之父 - 只需要代码锐化一定比例 - iP2,iP3,K7。 此外,有时需要考虑系统总线的频率,因为这有利于10-15%的速度增加。 您也可以添加SSE,但它仅适用于32x位数。 通常足够,但并非总是如此。

2Fellomena考虑到我现在有空闲时间等,我建议检查哪个编译器更好 - 比如Fortran和C上的一个小计算算法 - 哪个更快。
我自己也不知道FORTRAN,但找到这个问题会很有趣:)
怎么提供?



VictorT   (2002-02-14 14:09) [16]

我的老板现在要我在dosovsky FoxPro上写一个程序。 你看,她多年前试图在20上雕刻一些东西,现在她认为这是最酷的语言。 根据我在Delphi或Build上写的一般提议,我发出了这样的说法:“你会离开,谁将陪伴这个程序?FoxPro每个人都知道,没有人知道你的Delphi或Bilder”。 就是这样。



Abajun   (2002-02-14 14:50) [17]

2Fellomena
我通常只是用混合语言编写程序:Fortran,Delphi和C ++ Builder。 Fortran的最佳编程信息来自Compaq Visual Fortran Version 6.1帮助以及OV书籍中的更多信息。 Barteneva。
但我同意 - 他很讨厌。



Romkin   (2002-02-14 14:52) [18]

我认为现在英特尔的声明已经完全相同 - 已宣布协处理器类型(Double,REAL * 8等) - 并且协处理器已经考虑过它,因此它几乎不依赖于语言。 Fortran很好,因为对他来说,有很多库交配。 计算。 使用数组很方便 - 你可以将类似数组的东西传递给程序,而不需要维度。
Fortran一直喜欢的是对复数和算术比较运算符的内置支持,以及输入数据块的方便任务。
至于教科书,我推荐Pärnpu“Algol和Fortran编程” - 一本非常明智的古代手册,半 - Algol,半 - Fortran IV。 我曾经自学过,躺在家里的某个地方。
实际上subj - Fortran与BASIC非常相似(更准确地说 - 相反:-))
如果内存服务 - 一行中的前五个位置用于标签,如果在第一个位置C,则整行是注释。 第六个位置 - 如果其中有任何字符,那么这是前一行的延续(通常是*)。 程序本身是从7到80的位置。 也许在这个版本中,一切都改变了,但不太可能。
浮点数的类型有实数和双精度,具有real-sin,cos ...的函数,用于双dsin,dcos ...用于复数 - csin,ccos。 对于记录编号中的双倍而不是E使用D.
标签非常活跃 - 在读/写,DO循环(用于模拟)



Fellomena   (2002-02-14 17:24) [19]

明确 о 绝大多数人对FORTRAN的态度......好吧......我们会撕掉8E
而且我不需要记住Vasik - 我还记得我小时候的场景,我是如何参加ZXSpectrum 48kb的Vasika“程序员”,我记得有些变态!

2 VuDZ:让我们首先尝试使用bubble方法对类型为real的10E + 4元素进行排序。 使用随机化预先创建数组。

还有一个问题:在Fortran中是执行代码的时间
elapsed_time = TIMEF()

elapsed_time = TIMEF()

ObjectPascale中有类似的东西吗?
(我不是在谈论计时器,即关于Pascal f-ii)



Фэ   (2002-02-14 18:08) [20]

什么,比较可用的计算能力工具会很有趣。



VuDZ   (2002-02-14 18:10) [21]

GetTickCount() - winAPI +/- 10ms
teks ... 10000记录,总计~80kilo。
也许让它成为~100“000记录?

让我们从:>开始



VictorT   (2002-02-14 18:19) [22]

>我不需要记住Vasik - 我还记得童年的场景,我是如何在这个Vasika“程序员”中使用ZXSpectrum 48kb,我记得有些变态!
请不要冒犯频谱。 顺便说一句,我还编写了Spectrum,顺便说一句,我在asm上做了很多精彩的事情。 我记得这个,不像你,怀旧。



Фэ   (2002-02-14 18:23) [23]

有福的是谁能记住这一点。
我必须在asm上的i8080(580)上做导航系统,
包括像整个垫子这样的东西。 信号处理。



VuDZ   (2002-02-14 18:27) [24]

好吧......呃......排序是否取决于编译器的有效运行? 这一切都取决于算法......
也许别的什么?



Фэ   (2002-02-14 18:29) [25]

好吧。
矩阵500х500的反转填充rnd扩展



Фэ   (2002-02-14 18:31) [26]

200秒在P-iii 1000EB 256M上



Фэ   (2002-02-14 18:31) [27]

对不起,20秒



VuDZ   (2002-02-14 18:34) [28]

转换意味着什么?
如果你用垫子做测试。 计算,而不是用于比较等



Romkin   (2002-02-14 18:38) [29]

用紧凑高斯方法反演矩阵,用列选择e-ta :-))



VuDZ   (2002-02-14 18:38) [30]

这样的事情:
double CCMFCDlg :: FloatTest(int iInitVal) { m_spIUtility-> TimerStart(); double f0 = 0; double f1 = 123.456789; double f2 = 98765.12345678998765432; double f3 = 12345678943.98; for(int i = 0; i <iInitVal; i ++) { f0 =(f1 /(double)i) - f2 +(f3 *(double)i); } m_spIUtility-> TimerEnd(/ * sbsInfo * /); CString ss; ss.Format(“结果为%f”,f0); MessageBox(ss); return f0; }

呃......我想说
function TForm1.FloatTest(iInitVal:Integer):double; VAR f0,f1,f2,f3:double; 我:整数; 开始 Utility1.TimerStart(); f0:= 0; f1:= 123.456789; f2:= 98765.12345678998765432; f3:= 12345678943.98; 对于i:= 1到iInitVal - 1确实开始了 f0:=(f1 / i) - f2 +(f3 * i); 结束; Utility1.TimerEnd(); ShowMessage(格式(“结果为%n”,[f0])); FloatTest:= f0; 结束;



iZEN   (2002-02-15 01:36) [31]

对于VuDZ。
您还可以测试Java。

这是我在Java中测试的。
包装测试; / ** *标题:Java中的测试计算 *描述:小浮子测试 *版权:版权所有(c)2002 * @author iZEN * @version 1.0 * / 公共类TestApplication { / ** * ObjectPascal上的源代码: * * FloatTest(iInitVal:Integer):double; * var * f0,f1,f2,f3:double; * i:整数; *开始 * Utility1.TimerStart(); * f0:= 0; * f1:= 123.456789; * f2:= 98765.12345678998765432; * f3:= 12345678943.98; * for i:= 1 to iInitVal - 1确实开始 * f0:=(f1 / i) - f2 +(f3 * i); *结束; * Utility1.TimerEnd(); * ShowMessage(格式(“结果为%n”,[f0])); * FloatTest:= f0; *结束; * * Java代码: * / public static double floatTest(int iInitVal){ System.out.println(“初始值=”+ iInitVal的浮点测试); double f0,f1,f2,f3; int i; long startTime,endTime,delay; startTime = System.currentTimeMillis(); f0 = 0d; f1 = 123.456789d; f2 = 98765.12345678998765432d; f3 = 12345678943.98d; for(i = 1; i <iInitVal - 1; i ++){ f0 =(f1 / i) - f2 +(f3 * i); } endTime = System.currentTimeMillis(); delay = endTime - startTime; System.out.println(“浮点测试持续时间(毫秒):”+延迟); return f0; } / **主要方法* / public static void main(String [] args){ int someValue = 1000000000; double someResult = floatTest(someValue); System.out.println(“Float test completed,result =”+ someResult); } }
/*
铁:Duron 700MHz,128MByte SDRAM133。
软件:带有JRE / JDK5.0的Borland JBuilder1.3 Enterprise; JVM:java.vm.name =“Java HotSpot(TM)客户端VM”; java.vm.vendor =“Sun Microsystems Inc.”; java.vm.version =“1.3.0_02”。

测试条件:编译时没有调试信息; 从IDE JBuilder运行程序。

用于多个程序启动的JBuilder5.0控制台输出:

初始值= 1000000000的浮动测试
浮点测试持续时间(毫秒):26538
浮动测试完成,结果= 1.2345678919288543E19

初始值= 1000000000的浮动测试
浮点测试持续时间(毫秒):26548
浮动测试完成,结果= 1.2345678919288543E19

初始值= 1000000000的浮动测试
浮点测试持续时间(毫秒):26568
浮动测试完成,结果= 1.2345678919288543E19

初始值= 1000000000的浮动测试
浮点测试持续时间(毫秒):26518
浮动测试完成,结果= 1.2345678919288543E19

初始值= 1000000000的浮动测试
浮点测试持续时间(毫秒):26509
浮动测试完成,结果= 1.2345678919288543E19
*/

统计数据够了吗?
也许扔一些更复杂的东西? 我们来比较吧。



VuDZ   (2002-02-15 02:54) [32]

#include“windows.h” #include“stdio.h” #include“conio.h” #include“math.h” long double inline foo() { return(long double)pow((long double)rand()* long double(rand()),(long double)rand()); } 长双列内联检查(长双ld) { if(((int)ld%3)== 0) ld * = pow(ld,2); 其他 ld * = pow(ld,0.5); 返回ld; } int main() { DWORD dw1 = GetTickCount(); 长双ld; for(int i = 0; i <0xfffff; i ++) ld + =(check(check(check(foo())* check((long double)i)* pow(long double(i),foo())/ foo())* foo())); DWORD dw2 = GetTickCount() - dw1; printf(“result - %Lg \ n”,ld); printf(“计算时间 - %i \ n”,dw2); getch(); }

英特尔 - 2000ms
没有内联2100ms
具有内联的MS编译器 - 4600ms
- // - - // - 带内联 - 4500ms

ASUS上的Athlon 1000 / 133 a7v266 512Mb DDR
mnu-ss ...谁少?



Фэ   (2002-02-15 13:59) [33]

那么我能说什么..
MVC 6.0在P-III 8.5EB 1000M上给出了256秒



Fellomena   (2002-02-15 14:13) [34]

让我们保持一致并设定具体任务。

1)。 使用“Bubble”方法自下而上将10E + 4大小的一维数组排序为实数类型
您需要在1计算机上测试速度以获得一致的结果。
所有感兴趣的人 - 发给我* .EXE模块,其结果将是包含的文件
语言的名称,结果数组的第一个和最后一个值(如果使用,则使用编译器的优化设置)。
我将在我的车上测试并在此公布结果。 当我们处理第一项任务时,我们将开始更严肃的事情。

导航的算法:)
程序RANDOM2 使用DFPORT 隐含无 ! 变量 整数i,j 真实的(10E + 4),k,临时 REAL(8)elapsed_time ! RANDOM2的身体 打印*,“等待阵列格式化......” DO j = 1,10E + 4 致电RANDOM_NUMBER(k) a(j)= k * 100 !print *,a(j),j 结束了 打印*,“测试CPU ......请稍等......” elapsed_time = TIMEF() DO i = 1,10E + 4 DO j = 1,10E + 4 如果(a(i).LE.a(j))那么 temp = a(i) a(i)= a(j) a(j)= temp ENDIF 结束了 结束了 elapsed_time = TIMEF() 打印*,“” print *,“工作完成!时间=”,elapsed_time 打印*,“” !DO i = 1,10E + 4 !print *,a(i) !ENDDO 读(*,*) 结束程序RANDOM2



Romkin   (2002-02-15 15:05) [35]

发送15 Kill - Catch!



Fellomena   (2002-02-15 15:13) [36]

好的!!!

Следующий





VuDZ   (2002-02-15 18:07) [37]

肥皂......



Фэ   (2002-02-15 21:54) [38]

这个话题非常有趣。

在我看来,值得有条不紊地采用不同的方法。
这个话题可以延续很长一段时间,因为Fellomena自己​​承担了测试人员的工作,我会说协调员,我建议以下内容来增加结果的一般性。

1。基于这些提议,Fellomena生成另一个测试,产生伪代码(虽然是pascal),算法给它命名为TESTNAME。测试者需要通过使用标准语言结构来完全重现它

2。每项测试均以友好方式确定:
- 循环测试循环次数(例如10千);
- 重复测试的循环次数重复(典型的10);
第二个参数将提供启动时的统计信息。
测试的启动,将避免多任务的“未命中”。

3。每个测试人员指定他的伪<TESTER>。

4.txt文件必须具有名称结构<exename>
TESTER_TESTNAME_CMP.EXE
TESTER - 测试者的名字;
TESTNAME - 来自Fellomena的测试名称
CMP - 来自Fellomena的编译器的名称

5。根据测试的收据,Fellomena形成了工具名称列表(Delphi 5.0 build 6.18 sp.1)。
和一个简短的编译符号(Dx,MVC,BCx,JBx,..)
测试人员必须遵循它们。
6。作为测试的结果,文本应该形成近似内容的<exename> .txt文件(供讨论)。测试人员发送Fellomene和* .exe。
7。时间由GetTickCount以毫秒为单位。
8。 运行测试数据库时。 最小化的流程和任务最小化。

[页眉]
编译器= Delphi 5.0构建6.18 sp.1
CPU = P-III 1000EB
RAM = 256M
Chip = i815EP-B
测试者= Fe
测试=冒泡排序
周期= 10000
重复= 10
[时间]
Time1 = 3380
Time2 = 2952
Time3 = 2975
Time4 = 2945
Time5 = 2960
Time6 = 2945
Time7 = 2955
Time8 = 2940
Time9 = 2955
Time10 = 2950

PS我认为所有的兴趣结果。



Фэ   (2002-02-15 22:01) [39]

通过邮件发送



iZEN   (2002-02-15 23:51) [40]

那么Java会测试还是如何? 代码示例是合适的,我可以很容易地适应它们。

嗯...在Java中没有exe文件这样的东西 - 它被JAR-Executable取代,例如在Windows资源管理器中,通过鼠标点击进入虚拟Java机器,解压缩并在内存中执行(你可以从bat文件运行它) :java.exe -jar MyApplication.jar
并且所有控制台输出都在常规Win应用程序中完成。



iZEN   (2002-02-15 23:53) [41]

除了上一条消息。

只需要Sun JRE1.3(分发中的~9Mb),但更好的是新版本的JRE1.4(它更快)。



Фэ   (2002-02-16 01:02) [42]

当然,我们会以及所有可以数数和数量的人。

在Free Pascal上发送测试(有趣地与Delphi比较)



Фэ   (2002-02-16 01:05) [43]

还有更多......
根据测试结果,您可以将标准算法放在库房中,虽然该站点是关于Delphi的,但它对每个人都很有用。
因此,从实际任务中获得这些测试是可取的。



VuDZ   (2002-02-16 12:04) [44]

陷入了煎饼 - 从一个笑话变成了生产:)
1。 有人建议在任何网站上发布所有内容,以便每个人都可以测试计算机上不同选项的速度。
2。 但它不值得,更好或输入:输出或算法。
3。 今天可能会提出几个测试,而不是一个测试,它会更容易实现它们
4。 对于软件,放入或在taskManger中“e实时优先,虽然我在玩winAMP时开了很多测试”e或MP8.0并且几乎没有分散(但它们几乎不消耗任何东西)
5。 GetTickCount()仅适用于持续> 1的测量,否则它具有较大的范围。 你可以使用rdtsc
,但这是一种变态:)


>根据测试结果,您可以将标准算法放入
>食品室,虽然该网站是关于德尔福的,但它对每个人都有用。

在哪里可以看出算法是多余的......



Фэ   (2002-02-17 11:00) [45]

如果Merlin不想要它,我可以将它保存在我的网站上

打开访问权限
ftp.pi8plus.ru
登录:ftpguest
psw:123

我会发帖
ftp.pi8plus.ru/pub/download/compare/

1。在排序时,您应该回滚技术,然后选择
以下算法,您可以在其中研究各种编译器的工作特性。
2。不一定停在exe。
今天的语言范围非常广泛,其名称也很有用。
3.
>这里以算法的小车翻译为代价
当然,这不是字面翻译。 但是一个好的程序员,知道他的编译器工作的特性,可以组成源代码,以便优化器可以休息一下。 好吧,不要在高级语言中使用inline,asm。
当下一个算法被标记并达成一致时,pascal可以在发布时传递伪语言 - 这就是它的意义所在。

如果有人通过使用典型的语言结构来改进指标,那么可以将这些选项作为示例进行布局。
4.
> GetTickCount()仅对测量有效。
由于循环次数选择一次测试的时间> 2秒
分散不超过1%。
此外,一定要重复测试一次10 - 然后你就可以减少失误和延误。

这是一个例子:

[页眉]
编译器= Delphi 5.0构建6.18 sp.1
CPU = P-III 1000EB
RAM = 256M
Chip = i815EP-B
测试者= Fe
测试=冒泡排序
周期= 10000
重复= 10
[时间]
Time1 = 1912
Time2 = 1950
Time3 = 1931
Time4 = 1946
Time5 = 1940
Time6 = 1946
Time7 = 1950
Time8 = 1940
Time9 = 1951
Time10 = 1945
[结果]
0 = 1.2505566701293E-5
9999 = 0.999936824198812

5。将控制结果的部分输入到输出文件中
[结果]
0=
Nmax =

这是针对数组的,对于单行结果0 =

6。为BP5提供Delphi7,Free Pascal和jokes的结果
ftp.pi8plus.ru/pub/download/compare/

如果有人有兴趣 - 加入。



Фэ   (2002-02-17 11:07) [46]

泡泡排序的东西:

常量
N = 10000;
Kmax = 10;
VAR
答:数组[0..N-1]为double;
x:加倍;
first,last,i,j,k:整数;
F:TextFile;
fname:string;
......
随机化;
对于i:= 0到N-1做A [i]:=随机;

第一个:= GetTickCount;
对于i:= 0到N-1
对于j:= 0到N-1确实开始
if(A [i] <A [j])然后开始
x:= A [i]; A [i]:= A [j]; A [j]:= x;
结束;
结束;
last:= GetTickCount;

PS顺便说一下,在这个“原始”的例子中,我已经就D5和Free Pascal做出了有趣的结论。



Mbo   (2002-02-17 11:18) [47]

结论是什么?



Фэ   (2002-02-17 19:50) [48]

结论是(根据deasm的分析)
D5倒计时(即实际上是下降)
免费Pascal留下你的选择。

中间变量D5被带入内存,FP产生一个dword(相同的8字节)并将其放入寄存器中。

结果,这里D5失去了FP(见网站上的结果)



Фэ   (2002-02-17 19:52) [49]

法院还公布了测试解释系统的结果
Win平台的ActivePerl和ActivePython。
也很有趣:

ftp.pi8plus.ru/pub/download/compare/




Фэ   (2002-02-17 20:11) [50]

所以Sishniki先生,Java的吸烟者等等,您的选择在哪里?
还是破?
是的,Fellomena和它的Fortran一起消退了......




VuDZ   (2002-02-17 22:09) [51]

我将我的版本发送到Fellomen“e - 我通常使用英特尔C ++编译器,这是最快的编译器......我将在网站上安排时间



Fellomena   (2002-02-19 10:57) [52]

感谢所有发送选项的人。
结果已经为VisualFortran 6.1.0做好了准备,没有优化,对于Delphi 6编译器 - 结果很有趣;)
今天我抗议S-shny代码和结果,我想明天我会把它扔到这里。




Страницы: 1 2 整个分支

论坛:“抢”;
当前存档:2002.04.01;
下载:[xml.tar.bz2];

楼上









内存:0.81 MB
时间:0.052 c
3-12
巴西莱
2002-02-27 20:30
2002.04.01
用于访问MSSQL Server的组件?


3-24
de
2002-03-06 14:52
2002.04.01
如何在DBGridEh中创建一个下拉列表?


1-247
亚历山大
2002-03-20 23:31
2002.04.01
如何获取TEMP环境变量的值?


4-356
Bodia
2002-01-30 19:11
2002.04.01
如何更改自己的程序图标?


1-126
听起来
2002-03-19 01:38
2002.04.01
使用什么组件?





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский