如何快速顺序生成一亿个数字

2022-05-19 01:12:57 +08:00
 hiugo

rt , 从一顺序生成数字,直到一亿

4931 次点击
所在节点    程序员
33 条回复
Chaconne
2022-05-19 13:18:20 +08:00
crunch 0123456789 0 9 -o test.txt
BeautifulSoap
2022-05-19 13:19:09 +08:00
lz 简直是一击脱离的典范

也不说这一亿个数字是拿来干嘛的,如果只是放内存里需要的时候用一下,连计算都不需要计算,直接按照规律要的时候自动计算出指定位置的数就行了。这样连空间分配都不需要了

如果要存到文件的话,一亿个 64 位整数需要 763MB 来存储,瓶颈不会在 cpu 或内存上,而在你硬盘上
jessun1990
2022-05-19 14:19:06 +08:00
time seq 1 100000000 > /dev/null

________________________________________________________
Executed in 612.18 millis fish external
usr time 588.62 millis 125.00 micros 588.50 millis
sys time 23.32 millis 50.00 micros 23.27 millis

@ipwx 请问你用的是 mac 吗? 我的输出格式与你的不一样,我用的是 manjaro 。
ipwx
2022-05-19 15:04:25 +08:00
@jessun1990 是 mac 。看起来 Linux 做了优化,>/dev/null 不用过系统调用。mac 实打实系统调用花了 17 秒
suyuyu
2022-05-19 15:11:10 +08:00
我想看看阿 3 的想法
084
2022-05-19 15:45:55 +08:00
(base)  ~/ time seq 1 100000000 > /dev/null
seq 1 100000000 > /dev/null 19.66s user 0.06s system 99% cpu 19.807 total
084
2022-05-19 15:46:19 +08:00
@084 #26 黑果请求一战
ipwx
2022-05-19 15:54:57 +08:00
@jessun1990 顺便我的 Linux Mint 主机:

$ time seq 1 100000000 > /dev/null

real 0m0.544s
user 0m0.536s
sys 0m0.008s
sunmker
2022-05-19 15:58:17 +08:00
ubuntu@VM-16-14-ubuntu:~$ time seq 1 100000000 > /dev/null

real 0m0.860s
user 0m0.812s
sys 0m0.048s
dangyuluo
2022-05-19 16:08:25 +08:00
定义快速
wangweiggsn
2022-05-19 17:22:25 +08:00
我来个 Excel 版本的吧,2007 及以上版本都 ok 。
左上角地址栏写 A:EA ,回车,这片区域被选中,编辑栏写公式:=ROW()+1048576*(COLUMN()-1) 然后按 ctrl+Enter ,我 i5-10210U+16G 内存配置,等 30 秒左右 OK ,1.37 亿个数据纵向整齐排列了。要横向的改下公式就行,很容易。需要的话保存文件为自己需要的格式即可。过程中电脑内存和 cpu 会基本占满,建议 公式-计算选项,选手动,否则算完后 CPU 占用率仍然较高。
tramm
2022-05-19 17:38:17 +08:00
我也来一个:
申请 1 亿个长度的 char 数组.
其每个元素的内存地址就是你要的.
documentzhangx66
2022-05-20 08:17:46 +08:00
time seq 1 100000000 > x.log

real 0m25.580s
user 0m2.975s
sys 0m4.955s

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853822

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX