我很清楚 Stack Overflow 问题什么是原始 Forth 运算符?,但它并没有真正解决我的问题。我不是在寻找最小的而是实用的原语集。
最近遇到一个问题,需要经常对非常大的数组进行排序,性能变得至关重要。一个简单的qsort基准测试为 20。移植一个经过大量(算法)优化的 STL 版本使我获得了基准测试 16。原生 C++ 从基准测试 3 中嘲笑我。哦,好吧。
最后,我咬紧牙关,EXCH ( a1 a2 -- a1 a2 )
将非破坏性比较( n1 n2 -- n1 n2 flag )
作为基元实现。结果是惊人的——性能提升了三倍。仍然不是 C++,但更接近。
为什么标准的 Forth 没有开箱即用?
PS:基准是(执行时间,nsec)/(n log n)