-
假设要对200万个随机数进行加密。
-
如果使用单线程和多线程来解决,分别要耗时多久呢?代码
-
我统计了一下在树莓派上,单线程运行结果差不读8s左右:
Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878758.124958 Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878766.341765
-
如果使用多线程运行结果,差不多2s左右:
Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878766.341874 Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878768.419132
-
-
而如果你是用多线程去做是用插入排序的算法排序。速度能差20多倍。
- 但是我觉得是用多线程做排序,已经类似归并排序方法了。所以还是以加密算法差距为准。
- 我在实际情况中,使用这种方法解决了一个这样的问题。
- 嵌入式设备中。用户希望对电话本的数据进行后台加密。
- 最多有2000条,每条数据需要先做拆分,分离出需要的数据,和现有数据比对,没有重复,再进行加密。
- 如果使用单线程做,用户点击save之后,需要等待14s左右。
- 使用了多线程,只需要2-3s。14s的等待用户是无法接受的。但是2-3s,在数据多的情况下,用户是可以理解的。
- 可见这个技巧的重要性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)