python list 线性访问和随机访问比较

线性访问速度是随机访问的2倍左右

一下是数组长度和两种访问的时间,单位是秒

数组长度 线性 随机
100 0.01 0.01
1000 0.01 0.01
10000 0.015 0.015
100000 0.02 0.03
1000000 0.1 0.2
10000000 1 2

比较的时候把产生随机数的时间减掉了,长度是一亿的时候程序直接挂了

线性访问

import random

a = range(10000)

b = 0

for i in xrange(10000):

b = random.randint(0,999)

a[i] = 0

随机访问

import random

a = range(10000)

b = 0

for i in xrange(10000):

b = random.randint(0,999)

a[b] = 0

时间: 2024-10-02 11:26:37

python list 线性访问和随机访问比较的相关文章

<顺序访问><随机访问><HDFS>

Overview 如果你了解过HDFS,至少看过这句话吧: HDFS is a filesystem designed for storing very large files with streaming or sequential data access patterns. That's to say, "Hadoop is good for sequential data access" 那么第一个问题一定是sequential access VS random access ?

Java基础知识强化之IO流笔记63:随机访问流RandomAccessFile

1. 随机访问流RandomAccessFile RandomAccessFile类不属于流,是Object类的子类.但它融合了InputStream和OutputStream的功能.支持对随机访问文件的读取和写入. RandomAccessFile的构造方法: 构造方法摘要 RandomAccessFile(File file, String mode)           创建从中读取和向其中写入(可选)的随机访问文件流,该文件由 File 参数指定. RandomAccessFile(St

随机访问文件RandomAccessFile 与 内存映射文件MappedByteBuffer

一.RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系

随机访问存储器、存储器模块数据的存取、局部性_15.09.15/2-第六章(6.2)

了解存储器的层次结构可以帮助程序员更好地了解系统如何将数据在存储器层次中上下移动,从而可以将自己编写的程序的数据放于较高的层次上,使得CPU能够更快地访问它们.  随机访问存储器: S(静态)RAM:其每个位存储在一个具有双稳态的bistable存储器单元里.该存储器单元的特性是只能稳定地保持在两个稳定状态中的任意一种,就像倒立的钟摆只有左边或者右边两种稳定状态一样,这种性质使得SRAM会从任意状态迅速地转移到两个稳定状态之一的状态.由于这种性质的存在,使这种存储器在有电的情况下会永久地保持它的

MappedByteBuffer高速缓存文件、RandomAccessFile随机访问

说到高速缓存存储,处理读写文件,那就不得不说MappedByteBuffer. 看了好多文章以后写一下自己的总结. 在这里先介绍一下相关的类与方法. 先说一下Buffer.ByteBuffer.MappedByteBuffer这几个类之间的关系. public abstract class Buffer { // Invariants: mark <= position <= limit <= capacity private int mark = -1; private int pos

黑马程序员——————&gt; 随机访问流

RandomAccessFile是java输入/输出流体系中功能最丰富的问几十年内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.与普通的输入/输出流不同的是,RandomAccessFile支持“随机访问”的方式.程序可以直接跳转到文件的任意地方来读写数据. 由于RandomAccessFile可以自由访问文件的任意位置,所以如果只需要访问文件部分内容,而不是把文件从头读到尾,使用RandomAccessFile将是更好的选择. 与OutputStrea

java 21 - 12 随机访问流(不属于IO流)

随机访问流: RandomAccessFile类不属于流,是Object类的子类. 但它融合了InputStream和OutputStream的功能. 支持对文件的随机访问读取和写入. public RandomAccessFile(String name,String mode):第一个参数是文件路径,第二个参数是操作文件的模 mode:参数指定用以打开文件的访问模式.允许的值及其含意为: 值 含意 "r" 以只读方式打开.调用结果对象的任何 write 方法都将导致抛出 IOExc

Java API —— IO流(数据操作流 &amp; 内存操作流 &amp; 打印流 &amp; 标准输入输出流 &amp; 随机访问流 &amp; 合并流 &amp; 序列化流 &amp; Properties &amp; NIO)

1.操作基本数据类型的流 1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出流写入稍后由数据输入流读取的数据. · DataOutputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中.然后,应用程序可以使用数据输入流将数据读入. package datastreamdemos; import java.io.*; /** * Created b

2015.4.5 随机访问存储器

随机访问存储器分为两种,静态(S)和动态(D),静态(SRAM)比动态(DRAM)要快也要贵,因为SRAM作为高速缓存,DRAM作为主存以及图形系统的帧缓冲区. 1.静态RAM SRAM的每一个数据位都存在一个双稳态的存储单元中(双稳态:只有两个稳定平衡状态,注意,不仅平衡,而且要稳定平衡,意味着受到一点小小的干扰也不会状态发生改变,如果处于不稳定的状态,则会转化到稳定状态),因此只要有电,数据就绝对不会改变. 2.动态RAM DRAM采用电容来保存数据位,因此电压的稳定程度代表了数据位的稳定程