node python 速度_为什么python在递归上比node.js慢得多
如果您在Python中使用一个带记忆的fibonacci函数,您将看到它变得更快:import time
beg = time.clock()
def memoize(f):
cache = {}
def decorated_function(*args):
if args in cache:
return cache[args]
else:
cache[args] = f(*args)
return cache[args]
return decorated_function
@memoize
def fib(n):
if n <=2:
return 1
return fib(n-2) + fib(n-1)
var = fib(35)
end = time.clock()
print(var)
print(end - beg)
在javascript中也可以这样做:function memoize( fn ) {
return function () {
var args = Array.prototype.slice.call(arguments),
hash = "",
i = args.length;
currentArg = null;
while (i--) {
currentArg = args[i];
hash += (currentArg === Object(currentArg)) ?
JSON.stringify(currentArg) : currentArg;
fn.memoize || (fn.memoize = {});
}
return (hash in fn.memoize) ? fn.memoize[hash] :
fn.memoize[hash] = fn.apply(this, args);
};
}
var beg = new Date().getTime();
function fib(n)
{
if (n <= 2)
return 1;
return fib(n-2) + fib(n-1);
}
var f = memoize(fib)(35);
var end = new Date().getTime();
console.log(f);
console.log(end - beg);
看起来javascript方面没有性能改进,这往往表明这里已经内置了某种记忆机制。
node python 速度_为什么python在递归上比node.js慢得多相关推荐
- 第一章 第一节:Python基础_认识Python
Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...
- java python算法_用Python,Java和C ++示例解释的排序算法
java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...
- python寻路_【PYTHON】a-start寻路算法
本文章适合黄金段位的LOL大神,同样更适合出门在外没有导航,就找不到家的孩子. 在英雄联盟之中,当你和你的队友都苦苦修炼到十八级的时候,仍然与敌方阵营不分胜负,就在你刚买好装备已经神装的时候,你看见信 ...
- 黑马程序员python笔记_三年Python程序员平时学习笔记总结,对于学习Python非常有帮助...
一.可迭代对象.迭代器对象和生成器 像list, tuple等这些序列是可以使用for...in ...语句来进行遍历输出的.这是为什么呢?这就需要知道可迭代对象(Iterable).迭代器对象(It ...
- python打字_使用Python编写打字训练小程序
你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢 ...
- 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...
作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...
- python 单元测试_聊聊 Python 的单元测试框架(一):unittest
本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest. ...
- python 速度 memmap_浅析Python 读取图像文件的性能对比
浅析Python 读取图像文件的性能对比 发布时间:2020-08-30 16:31:06 来源:脚本之家 阅读:57 作者:BriFuture''s Blog 使用 Python 读取一个保存在本地 ...
- python链表_使用python实现链表操作
一.概念梳理 链表是计算机科学里面应用应用最广泛的数据结构之一.它是最简单的数据结构之一,同时也是比较高阶的数据结构(例如棧.环形缓冲和队列) 简单的说,一个列表就是单数据通过索引集合在一起.在C里面 ...
最新文章
- 怎么剪切一段音乐其中的片段
- 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
- OS study plan
- Nginx搭建flv视频点播服务器
- java你可能不知道的事(2)--堆和栈
- 深度学习笔记(22) Padding
- Swiper学习之一---入门:swiper相关文件、swiper代码结构和样式、初始化Swiper
- VB手控Combobox的打开或收起
- io读两个文件,生成list 排重后写本地文件(Java)
- C#控制台程序套壳打开EXCEL并强制启用宏
- 去掉vue中万恶的eslint
- 牛客小白月赛21 I.I love you
- 相机光学(十一)——镜头
- Rose Blumki
- 在线课程开放平台API分析及脚本制作(一)
- TCP粘包问题以及解决方法
- python爬取图片并保存到本地
- verilog将100mhz分频为1hz_50m 分频器设计——50MHZ(含verilog程序)
- Python中的套接字编程
- PageAdmin文章采集-自动批量文章采集发布