Der Index wurde unter Verwendung des Überschusses bei Verwendung des Ringpuffers berechnet. Ein Programmierer bei der Arbeit sagte mir, dass ich ein bisschen rechnen kann, also schreibe ich es hier auf.
Code(Python)
ring_buffer.py
# coding:utf-8
'''
Experimentieren Sie, ob der Ringpuffer durch Bitbetrieb schneller wird
'''
import time
import numpy as np
def main():
ring_buff = np.array([i for i in range(1024)])
#Überschussbetrieb ver
start = time.time()
for cnt in range(102400):
index = cnt % 1024
ring_buff[index] = cnt
elapsed_time = time.time() - start
print ("Überschuss ver:{0}".format(elapsed_time) + "[sec]")
#Bitberechnung ver
start = time.time()
for cnt in range(102400):
index = cnt & 0b1000000000
ring_buff[index] = cnt
elapsed_time = time.time() - start
print ("bit ver :{0}".format(elapsed_time) + "[sec]")
if __name__ == '__main__':
main()