问题标签 [cps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
12 问题
0
投票
0
回答
25
浏览
0
投票
1
回答
108
浏览
python - python中如何加速蹦床cps版fib函数并支持相互递归?
我尝试为 cps 版本的斐波那契函数实现蹦床。但我不能让它快速(添加缓存)并支持mutual_recursion。
实现代码:
这是可运行的示例。
跑号太慢了40
。当更大时,超过fib
了得到的最大递归深度。n
但是添加后lru_cache
会很快。iter trampolined 版本可以用于递归深度并且运行速度非常快。
这是其他一些人的工作:
- 支持cps版本缓存: https ://davywybiral.blogspot.com/2008/11/trampolining-for-recursion.html
- 支持mutual_recursion:https ://github.com/0x65/trampoline但它太难理解了。