作者 | Andrew Zhu
译者 | 苏本如 出品 | CSDN(ID:CSDNnews)
import numpy as np
np.random.seed(0)
values = np.random.randint(1, 100, size=1000000)
def get_reciprocal(values):
output = np.empty(len(values))
for i in range(len(values)):
output[i] = 1.0/values[i]
%timeit get_reciprocal(values)
每个循环平均耗时3.37秒(标准偏差±582毫秒)(共计运行了7次程序,每次一个循环)
a = 1
步骤 1:将 a->PyObject_HEAD->typecode 设置为 Integer 类型. 步骤 2. 将值 1 赋值 a (a->val =1).
import numpy as npnp.random.seed(0)values = np.random.randint(1, 100, size=1000000)%timeit result = 1.0/values
每个循环平均耗时2.71毫秒(标准偏差±50.8微秒)(共运行了7次程序,每次循环100个)
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
int main(){
struct timeval stop, start;
int length = 1000000;
int rand_array[length];
float output_array[length];
for(int i = 0; i<length; i++){
rand_array[i] = rand();
}
gettimeofday(&start, NULL);
for(int i = 0; i<length; i++){
output_array[i] = 1.0/(rand_array[i]*1.0);
}
gettimeofday(&stop, NULL);
printf("took %lu us\n", (stop.tv_sec - start.tv_sec) * 1000000 + stop.tv_usec - start.tv_usec);
printf("done\n");
return 0;
}
using System;
namespace speed_test{
class Program{
static void Main(string[] args){
int length = 1000000;
double[] rand_array =new double[length];
double[] output = new double[length];
var rand = new Random();
for(int i =0; i<length;i++){
rand_array[i] = rand.Next();
//Console.WriteLine(rand_array[i]);
}
long start = DateTimeOffset.Now.ToUnixTimeMilliseconds();
for(int i =0;i<length;i++){
output[i] = 1.0/rand_array[i];
}
long end = DateTimeOffset.Now.ToUnixTimeMilliseconds();
Console.WriteLine(end - start);
}
}
}
import java.util.Random;
public class speed_test {
public static void main(String[] args){
int length = 1000000;
long[] rand_array = new long[length];
double[] output = new double[length];
Random rand = new Random ();
for(int i =0; i<length; i++){
rand_array[i] = rand.nextLong();
}
long start = System.currentTimeMillis();
for(int i = 0;i<length; i++){
output[i] = 1.0/rand_array[i];
}
long end = System.currentTimeMillis();
System.out.println(end - start);
}
}
let length = 1000000;let rand_array = [];let output = [];for(var i=0;i<length;i++){ rand_array[i] = Math.floor(Math.random()*10000000);}let start = (new Date()).getMilliseconds();for(var i=0;i<length;i++){ output[i] = 1.0/rand_array[i];}let end = (new Date()).getMilliseconds();console.log(end - start);
留言送书
推荐理由:
本书介绍了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介、发送请求、提取数据、使用多个线程和进程进行并发抓取、抓取动态页面中的内容、与表单进行交互、处理页面中的验证码问题及使用Scrapy和分布式进行数据抓取,并在最后介绍了使用本书讲解的数据抓取技术对几个真实的网站进行抓取的实例,旨在帮助读者活学活用书中介绍的技术。
全新:本书理论、技术与案例基于全新的Python 3.x。全面:涵盖Python全栈开发全过程,知识点涉及数据分析、数据存储、数据可视化、系统网络运维、Web 项目和量化交易等多领域。实战:海量示例文件展示开发过程中的重点、疑点、难点。基础:零基础也能入门,拆解式讲解全栈开发过程中的知识和技术。丰富:本书配套的源代码全部赠送,资源丰富,可轻松复制所需项目内容。
推荐理由:
本书专为没有任何 Python基础的初学者和爱好者打造,无论你是否从事计算机相关专业,是否有过 Python 项目经验,或是否想要转行从事计算机相关专业,均可通过本书快速掌握Python 的基本知识和开发技巧。
活动规则:
活动截止时我们将从精选留言中选出 六条 走心留言赠送以上书籍,先到先选,免费包邮送到家~(每人当月仅限一次中奖机会)
截止时间: 2021 年 6 月 4 日 16:00 整
1、鸿蒙手机来了!
6、用 Python 写的批量翻译工具,效果竟超越付费软件?