2026/1/10 7:04:33
网站建设
项目流程
雄安专业网站建设,南京网站优化方案,建设通相似网站,c 可以用来做网站吗编程语言性能与服务器设计深度剖析 1. 函数性能测试 在对不同函数进行性能测试时,我们关注了读取文件以及字符串长度计算等操作。相关函数的测试结果如下表所示: | Function | SML (microsec) | C (microsec) | | — | — | — | | readall | 4980 | 4609 | | length |…编程语言性能与服务器设计深度剖析1. 函数性能测试在对不同函数进行性能测试时,我们关注了读取文件以及字符串长度计算等操作。相关函数的测试结果如下表所示:| Function | SML (microsec) | C (microsec) || — | — | — || readall | 4980 | 4609 || length | 1 | - || slowix | 21975 | - || fastix | 13792 | 1854 || tokens | 54856 | - || cntrl | 61299 | - || getc | 59050 | - |从表中数据可知,SML/NJ 在读取文件方面表现出色,但在字符计数方面却不尽人意。编译器本应生成 Unsafe.CharVector.sub 的内联机器代码,可最终其速度仍比 C 慢 7 倍。不过,Unsafe 函数确实比每次调用都进行边界检查的普通函数要快。令人惊讶的是,getc 版本的速度居然比 tokens 慢。2. 内存性能测试此测试主要探究内存分配的性能。程序会构建一个整数链表,之后将其释放。对于 SML/NJ 程序而言,释放操作就是放弃链表并触发垃圾回收。以下是测试代码:(* lst should be garbage after this function ends *) fun build max_cnt = let fun loop 0 rslt = rslt |