﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-hitme-最新评论</title><link>http://www.cppblog.com/hitme/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Fri, 10 Dec 2010 08:18:12 GMT</pubDate><lastBuildDate>Fri, 10 Dec 2010 08:18:12 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 求助。关于如何将文件映射成STL容器内存空间的方法。</title><link>http://www.cppblog.com/hitme/archive/2010/12/11/136067.html#136158</link><dc:creator>匿名人士</dc:creator><author>匿名人士</author><pubDate>Sat, 11 Dec 2010 08:15:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2010/12/11/136067.html#136158</guid><description><![CDATA[按你描述，问题可以拆成两个，1是文件到内存数据的转换，2是数据的组织<br><br>一个一个来解决。问题1 用序列化就得了，boost还是什么的随意<br>问题2 你可以不用把数据类（假设是用序列化）的本体放set/map里啊，自己用new来控制数据，map里只索引数据的引用或指针，那不就得了<img src ="http://www.cppblog.com/hitme/aggbug/136158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">匿名人士</a> 2010-12-11 16:15 <a href="http://www.cppblog.com/hitme/archive/2010/12/11/136067.html#136158#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 求助。关于如何将文件映射成STL容器内存空间的方法。[未登录]</title><link>http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136098</link><dc:creator>hdqqq</dc:creator><author>hdqqq</author><pubDate>Fri, 10 Dec 2010 12:58:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136098</guid><description><![CDATA[文件映射无助于增加进程可用地址空间。除非你修改set的实现，把对节点的访问直接<br>对应到对文件的访问，但是在大数据量的情况下，随机访问的效率很差。<br><br>关键还是在于减少内存的使用上<br><br>1. stl 中的set使用红黑树实现的,一个节点有左,右,父节点三个指针和一个红黑标志位.32位系统下最少占用13个字节,<br>    考虑内存对齐下,可能使用到16个字节,在大数据量的情况下,为了保持这个树结构,额外使用的内存是很多的,可以考虑使用hash set.<br><br>2. url长度都比较长,可考虑计算md5 hash,减少存储占用.<br><br>3. 不要妄想把所有数据都存在内存,总会有内存耗尽的时候,另外,如果程序异常或者崩溃,所有数据将丢失.<br><br>我以前实现的一种方式是,以数据库为主要存储,内存作为优先查询cache.<br>1. 数据库建散列表, 以十六进制 0-F 开始,根据md5第一位决定存储表,用于存储md5值,并对md5建索引加快查询.<br>2. 在内存中用set或map保存md5值,查询时先计算url md5值,再查询内存,如果不存在,则从数据库加载.如为新url,先存入内存.<br>3. 内存总量到一定阀值,进行数据保存,并清空内存cache.<br>   <br>    不过这种实现存在cache命中问题,你可以一次加载整张表,也可以用 like 查询条件,减少数据库返回的记录数.<br><br>已有的php实现,内存cache200万条记录,总内存使用在1200M左右,可长时间运行,没有内存使用问题.<br><img src ="http://www.cppblog.com/hitme/aggbug/136098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">hdqqq</a> 2010-12-10 20:58 <a href="http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136098#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 求助。关于如何将文件映射成STL容器内存空间的方法。[未登录]</title><link>http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136085</link><dc:creator>坏</dc:creator><author>坏</author><pubDate>Fri, 10 Dec 2010 10:49:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136085</guid><description><![CDATA[自己研究下set的第三个模板参数<br>basic_string也同样是第三个模板参数<br><img src ="http://www.cppblog.com/hitme/aggbug/136085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">坏</a> 2010-12-10 18:49 <a href="http://www.cppblog.com/hitme/archive/2010/12/10/136067.html#136085#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！</title><link>http://www.cppblog.com/hitme/archive/2009/09/06/95217.html#95438</link><dc:creator>唐风</dc:creator><author>唐风</author><pubDate>Sun, 06 Sep 2009 15:19:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/06/95217.html#95438</guid><description><![CDATA[std::map<br>本身不就是排序的吗？为什么还要倒到vector里排？不解<img src ="http://www.cppblog.com/hitme/aggbug/95438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">唐风</a> 2009-09-06 23:19 <a href="http://www.cppblog.com/hitme/archive/2009/09/06/95217.html#95438#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！</title><link>http://www.cppblog.com/hitme/archive/2009/09/04/95217.html#95305</link><dc:creator>凡客诚品</dc:creator><author>凡客诚品</author><pubDate>Fri, 04 Sep 2009 06:30:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/04/95217.html#95305</guid><description><![CDATA[不错哦<img src ="http://www.cppblog.com/hitme/aggbug/95305.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">凡客诚品</a> 2009-09-04 14:30 <a href="http://www.cppblog.com/hitme/archive/2009/09/04/95217.html#95305#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！</title><link>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95271</link><dc:creator>gbb</dc:creator><author>gbb</author><pubDate>Thu, 03 Sep 2009 15:46:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95271</guid><description><![CDATA[这个不是标准的mapreduce样例么？<img src ="http://www.cppblog.com/hitme/aggbug/95271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">gbb</a> 2009-09-03 23:46 <a href="http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95271#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！[未登录]</title><link>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95268</link><dc:creator>dskit</dc:creator><author>dskit</author><pubDate>Thu, 03 Sep 2009 15:26:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95268</guid><description><![CDATA[map的底层用红黑树实现，<br>可以用trie树，但是有中文，还有其他符号，好像就不好处理了<img src ="http://www.cppblog.com/hitme/aggbug/95268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">dskit</a> 2009-09-03 23:26 <a href="http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95268#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！</title><link>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95263</link><dc:creator>wcdj</dc:creator><author>wcdj</author><pubDate>Thu, 03 Sep 2009 15:00:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95263</guid><description><![CDATA[用Unix or Linux下的使用程序 sort wc 是相当的快<img src ="http://www.cppblog.com/hitme/aggbug/95263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">wcdj</a> 2009-09-03 23:00 <a href="http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95263#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！</title><link>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95238</link><dc:creator>Vincent</dc:creator><author>Vincent</author><pubDate>Thu, 03 Sep 2009 08:56:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95238</guid><description><![CDATA[^_^stl王道<img src ="http://www.cppblog.com/hitme/aggbug/95238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">Vincent</a> 2009-09-03 16:56 <a href="http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95238#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 有没有更快的办法来统计一篇文章中的词组数量并排序输出（挑战速度）！[未登录]</title><link>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95237</link><dc:creator>foxriver</dc:creator><author>foxriver</author><pubDate>Thu, 03 Sep 2009 08:53:00 GMT</pubDate><guid>http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95237</guid><description><![CDATA[&quot;个人觉得只要能设计出合理的hash还是hash更快些吧&quot;, 严重同意！不过对于楼主来说，写一个hash查找来替换std::map挺费时间的，内存管理上弄不好的话，效率和稳定性会下降，说不定还没人家stl的快，所以不是很推荐呢。<img src ="http://www.cppblog.com/hitme/aggbug/95237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hitme/" target="_blank">foxriver</a> 2009-09-03 16:53 <a href="http://www.cppblog.com/hitme/archive/2009/09/03/95217.html#95237#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>