b***i 发帖数: 3043 | 1 一个2GB的CF卡有问题。FAT16,每个扇区512字节。要求比较发现哪些扇区相同。现在
暂时规定只看最开始的32字节是否相同。整个扇区都是0的则不考虑。
比如扇区342344和6552455都是以hh:mm 2013/09/15, 12:34:00, 34.15, 203/09/15,
12:34:05, 58.18
开始,则认为有重复。目前只比较扇区开始的32字节。一个65536 x 64个扇区。 |
|
b***i 发帖数: 3043 | 2 用什么无所谓,关键是算法.比如说用C#好了,反正肯定先把2GB读入内存的。或者就把
每个扇区前32个字节保存。
之后怎么办?怎么hash?大概多长时间能扫描一遍?一共64*65536个扇区,就是4M个
hash。是随便做个随机数计算吗? hash用多少bit?32? |
|
n***e 发帖数: 723 | 3 是这样,tcp我的经验里面还是有可能会断的。当然现在好像这个问题越来越不明显了
。本地出现奇葩问题的几率几乎可以忽略不计。
另外tcp其实你也可以做成流模式或者块模式。所以如果跨平台其实是个好的solution
。UDP的一个问题是包长65536字节的长度限制。如果传的包大于那个大小就必须自己做
协议处理数据块了。
unix domain(?) socket就没用过了。。。有机会看看,恩
unix |
|
T********i 发帖数: 2416 | 4 呵呵,goodbug在这些问题上,连续两个月对我进行连篇累牍无耻的人身攻击。有任何
人说过一句公道话么?
好了,假定12306要求数据必须紧耦合,那么单机的性能最优,很容易证明。
我们在此假定中国火车线路任何两站之间的中间站不超过100个。总车站数量小于65536
个。那么一个抢票请求的消息有大约200字节。
这样,每秒500万的吞吐量不需要40G带宽。10G就够了。而且每机器带两网卡。每个网
卡5G。通信两个core绝对搞定。
其实这种应用用第三个core单线程都能搞定。我刚从中国回来,停留1个月,坐了两次
高铁。高铁卖票只卖等级不挑座位。抢票也就是最多100个加一。没抢着更麻烦些,因
为要把抢到的还回去,最多99个减一。最多10亿次加减法。因为抢票一般都是放票后同
一班次,数据几乎保证在L1 L2 cache中。
两个producer,一个consumer的lock free算法不难。但是我不想从我这里泄漏出去。
其实,两个producer,多个consumer的lock free算法是一样的。也就是几十行不到100
行代码。
单线程抢票,不用Atomic加减指令。多线程要用。
退... 阅读全帖 |
|
b*******s 发帖数: 5216 | 5 你们吵的,大多数人看不明白
你看不少人看到数据就认为是数据库
都在拿自己的一点认识套
65536 |
|
n****1 发帖数: 1136 | 6 首先, 实际卖票逻辑比你形容的复杂多了. 譬如有列车:广州->武汉->郑州->北京. 车
上有个座位,广州->武汉卖掉了, 郑州->北京也卖掉了,那如果有个乘客需要武汉到郑州
的坐票, 你的业务逻辑能把这个座位卖个人家吗? 我还没提更复杂的联程票情况.
换句话说, 如果业务逻辑像你形容的这么简单, 那就是可以弱耦合了嘛!
你应该把你的数据模型写出来, 就像这个帖子一样:
http://www.mitbbs.com/article_t/Programming/31299459.html
然后大家才能看清这个模型是否强耦合,是否计算量像你说的那么简单.
其次, lockfree data/software transactional memory又不是啥新鲜玩意, 这早就是
haskell杀手应用, 那帮鸟人用haskell的STM写出的server比nodejs还快一倍. Java/C+
+里面也有类库实现类似的东西. 你别告诉我你的核心就是实现这个!
最后, 用单机的performance per dollar固然好, 可是这么复杂的逻辑, 这么大的运算
量, 单机承受力很值得怀疑. ... 阅读全帖 |
|
g*****g 发帖数: 34805 | 7 可惜的是12306跟你一样强耦合,17个节点都没做下来。就你那一个2万美刀的能行?
像你这样的傻逼就是丢了脸不认错,这个板上哪怕挺你的哪个不是说你撑得太过。
你丫也不撒泡尿照照镜子。一点server端经验都没有,上来就我这个东西宇宙第一。
65536 |
|
t**********1 发帖数: 550 | 8 这个实时优化分配卖票,确实挺难的。
就像我说的,啥都不做,从1000个16位short里选一个最大的,就超过0.9us。
而且我那个测试程序,所有数据还都在L1 cache。
实际上,65536路车,每路20和路段,3等共3000张票,远超20MB的L3 CACHE。意味着数
据要从main memory load。实际memory access要慢一个数量级。
就算是挑战,我还可以试试。
但是好虫得承认以下几点:
1. Transaction不是这样算的。任何数据库,我都可以做一个运行一天的transaction
。用Tickets per second是最合理衡量。其他的都是无耻故意找茬。
2. 现有的12306就是实时售票。你不能声称实时不好。更不能说实时不能做。现在的每
秒10K算实时,我的这个目标1MM 凭什么不算?
3. 你还要认识到同样的要求,你连100K都做不出来。
咱们就以上几点达成共识。大家纯粹技术交流,客观,公正,遵循体育精神。我可以试
试看。让诸位网友也有一个进一步交流的机会。
否则,就算了。我也省事了。 |
|
S*A 发帖数: 7142 | 9 因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖 |
|
S*A 发帖数: 7142 | 10 因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖 |
|
b***i 发帖数: 3043 | 11 新的信息
大神帮看看那里可以提高?
[ 0.128265] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[ 0.129791] tps65910 1-002d: JTAGREVNUM 0x1
[ 0.133728] print_constraints: VRTC:
[ 0.135223] print_constraints: VIO: at 1500 mV
[ 0.137603] print_constraints: VDD1: 600 <--> 1500 mV at 1100 mV normal
[ 0.139923] print_constraints: VDD2: at 1100 mV
[ 0.140960] print_constraints: VDD3: 5000 mV
[ 0.142425] print_constraints: VDIG1: at 1800 mV
[ 0.143890] print_constraints: VDIG2: at 1800 mV
[ ... 阅读全帖 |
|
o******1 发帖数: 1046 | 12 java有没有用户自定义长度integer类型?
比如我想定义一个65536 bit的integer,可不可行? |
|
o******1 发帖数: 1046 | 13 其实我是用bitwise and/or来比较utf-16的字符。也许效率上稍微好点,还不用定义一
个static的65536长度的数组。 |
|
|
|
w*s 发帖数: 7227 | 16 问题是这句怎么改
child1 = spawn('ulimit', ['-m', '65536']);
=>
child1 = spawn('ulimit', ['-m', argu1]);
今天好像就这里错了,明天上班再看 |
|
n*****t 发帖数: 22014 | 17 var argu1 = '65536'
spawn 不用改吧,我猜是要求用 string, node 不会给你把 int 转过去 |
|
j******a 发帖数: 100 | 18 不解释,自己看
Running MPI tests with 2 processes
logfile /opt/opa/src/mpi_apps/logs/.24Sep15175112
Running in MPIRUN mode (OpenMPI).
Running osu-micro-benchmarks-3.8-July12/mpi/pt2pt/osu_bw ...
Using hosts list: /opt/opa/src/mpi_apps/mpi_hosts
Hosts in run:
sut1
sut2
+ /usr/mpi/gcc/openmpi-1.8.2a1-hfi/bin/mpirun -np 2 --bynode --allow-run-as-
root -machinefile /opt/opa/src/mpi_apps/mpi_hosts -mca plm_rsh_no_tree_spawn
1 osu-micro-benchmarks-3.8-July12/mpi/pt2pt/osu_bw
---------------------------------... 阅读全帖 |
|
q****e 发帖数: 3 | 19 情形如下:物理内存128M, OS is FreeBSD 4.4, 本人的Simulation程序run长时需大
量malloc memory,run后发现top显示SIZE为514M, RES是176M, 接着就dump core了。
程序本身应无问题,因为run短些时没问题。
Top显示:
Mem: 180M Active, 21M Inact, 32M Wired, 13M Cache, 35M Buf, 656K Free
Abort trap - core dumped
. PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
66351 dxu -22 0 514M 127M swread 0:11 36.96% 27.39% simulation
limit显示:
cputime unlimited
filesize unlimited
datasize 524288 kbytes
stacksize 65536 |
|
z***y 发帖数: 7151 | 20 I'm doing compliance check on SOLARIS 10 OS. I need to verify the
following parameter settings:
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 65536
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
virtual memory (kbytes, -v) unlimited
Sure I could use ulimit -cH to get display above. But I also need to find
where those setting... 阅读全帖 |
|
c****n 发帖数: 21367 | 21 呃,比如要找个n=65536+1或者n=1024*1024+1的会不会很难...
查了几篇paper均不得要领... 多谢多谢 |
|
s*******y 发帖数: 4173 | 22 但是我大概需要65536个点,logic analyzer 能
采那么长时间吗? |
|
R*********o 发帖数: 74 | 23 一共有大概12万条数据
打算用excel 2003打开dbf文件进行数据整合和处理
发现excel 2003的一个文档最多只能打开65536条数据,其他的都缺失了。
请问有什么好的办法处理大批量数据?
多谢啦 |
|
G*****u 发帖数: 1222 | 24 你可以尝试用vba写一个lookup function
大概的思路就是用vba找出数据的最后一列用在lookup function里
大概就是modifyvlookup(lookup_value, start_cell, end_column, search_column)
一般的vlookup是vlookup(lookup_value, range, search_column, false)
你这里就用end_column找处在这个column的最后一个cell 也就是end_cell 用start_
cell:end_cell替代range
这个code可以找出在end_column最后一个cell的row:
Cells(65536, column_number).End(xlUp).Row |
|
x******n 发帖数: 9057 | 25 想不到任何这个难以实现的理由,如果是封65536天做不到,这我可以理解。。。 |
|
j***n 发帖数: 6 | 26 mitbbs的楼层数是用int存储的,
当楼层数>=65536的时候会出现整数溢出的情况,
整个mitbbs会出现指针错误而崩溃. |
|
|
|
G******f 发帖数: 16223 | 29 来自主题: _FantaSoccer版 - 万事不觉 以前max row只有65536,现在有1m+
大文件很少crash了 |
|