草庐IT

emp_performance

全部标签

performance - mongodb查询中的嵌套文档是否有任何性能差异

如果我为用户名字段创建索引,哪个文档更适合查询特定用户?嵌套的:{account:{username:'zhengyi',passwd:'zhengyi',friends:[]}dev:{os:'iOS',ver:'6.0',hw:'iPhone2,1'},app:{ver:'1.0',pver:'1.0'}}未嵌套的:{username:'zhengyi',passwd:'zhengyi',friends:[],dev:{os:'iOS',ver:'6.0',hw:'iPhone2,1'},app:{ver:'1.0',pver:'1.0'}} 最佳答案

performance - 为什么在 Golang 中迭代 map 比迭代 slice 慢得多?

我在Golang中使用map实现了一个稀疏矩阵,我注意到在排除其他可能的原因之后,我的代码开始需要更长的时间才能完成此更改,似乎罪魁祸首是map本身的迭代。GoPlaygroundlink(由于某种原因不起作用)。packagemainimport("fmt""time""math")funcmain(){z:=50000000a:=make(map[int]int,z)b:=make([]int,z)fori:=0;i迭代超过50M项会返回以下时间:alix@local:~/Go/src$goversiongoversiongo1.3.3linux/amd64alix@local:~

performance - Go 语言的垃圾收集方法与其他方法相比是什么?

我对Go编程语言知之甚少,但我看到一些说法说Go具有无延迟的垃圾收集,并且比其他垃圾收集器(如JVM垃圾收集器)要好得多。我已经为JVM开发了应用程序,并且我知道JVM垃圾收集器不是无延迟的(特别是在使用大量内存时)。我想知道,Go中的垃圾收集方法与其他使其无延迟的方法有什么区别?提前致谢。编辑:@All我完全编辑了这个问题,如果你觉得它有建设性,请投票重新打开这个问题。 最佳答案 Go没有无延迟的垃圾收集。如果您能指出这些说法在哪里,我想尝试纠正它们。我们认为Go优于Java的一个优势是它可以让您更好地控制内存布局。例如,一个简单

performance - Golang - "go run main.go"和编译之间的区别

在Go中编写了一些脚本后,我问自己编译一个.go-file和后来的执行和gorunFILE.go之间是否有任何区别>在性能等方面的命令。如果我使用其中一种方法启动Web服务有什么好处吗? 最佳答案 gorun只是一步编译然后运行的快捷方式。虽然它对开发很有用,但您通常应该在生产环境中使用它时直接构建并运行二进制文件。 关于performance-Golang-"gorunmain.go"和编译之间的区别,我们在StackOverflow上找到一个类似的问题:

performance - 如何提高 Golang 的编译速度?

我正在尝试找到一种方法来加快Go程序的编译速度。目前大约需要30秒,这使得处理项目变得很慢。当我运行gobuild-v时,我发现大部分时间都花在编译go-sqlite3上。(链接到Csqlite库)。但是,由于这个库永远不会改变,我想知道是否有可能阻止构建工具每次都重新编译它? 最佳答案 尝试goinstall-agithub.com/mattn/go-sqlite3它将编译的-against-Go-1.3包安装到您的$GOPATH中。现在,您可能在$GOPATH/pkg/下安装了旧版本,因此Go正在为每个构建重新编译它。

performance - 结构 slice 与指向结构的指针 slice

我经常使用结构slice。以下是此类结构的示例:typeMyStructstruct{val1,val2,val3inttext1,text2,text3stringlist[]SomeType}所以我将slice定义如下:[]MyStruct假设我有大约一百万个元素,我正在大量使用slice:我经常添加新元素。(元素总数未知。)我时不时地对其进行排序。我也会删除元素(虽然不如添加新元素那么多)。我经常阅读元素并将它们传递(作为函数参数)。元素本身的内容不会改变。我的理解是,这会导致实际结构的大量改组。另一种方法是创建一个指向结构的指针slice:[]*MyStruct现在结构保持在原

performance - 如何分析golang的内存?

我写了一个golang程序,它在运行时使用1.2GB内存。调用gotoolpprofhttp://10.10.58.118:8601/debug/pprof/heap会导致仅使用323.4MB堆的转储。剩余的内存使用情况如何?有没有更好的工具来解释golang运行时内存?使用gcvis我明白了:..和这个堆表单配置文件:这是我的代码:https://github.com/sharewind/push-server/blob/v3/broker 最佳答案 堆配置文件显示事件内存,即运行时认为go程序正在使用的内存(即:尚未被垃圾收集器

Java 8 : performance of Streams vs Collections

我是Java8的新手。我仍然不深入了解API,但我做了一个小型的非正式基准测试来比较新StreamsAPI与良好的旧Collections的性能。测试包括过滤Integer的列表,并为每个偶数计算平方根并将其存储在DoubleList中。代码如下:publicstaticvoidmain(String[]args){//Calculatingsquarerootofevennumbersfrom1toNintmin=1;intmax=1000000;ListsourceList=newArrayList();for(inti=min;iresult=newLinkedList();//

performance - MongoDB 在聚合查询上的表现

在听到很多关于MongoDB性能的好消息后,我们决定尝试使用Mongodb来解决我们遇到的问题。我首先将我们在几个mysql数据库中的所有记录移动到mongodb中的单个集合中。这产生了一个包含2900万个文档(每个文档至少有20个字段)的集合,在HD中占用了大约100GB的空间。我们决定将它们全部放在一个集合中,因为所有文档都具有相同的结构,并且我们希望查询和聚合所有这些文档的结果。我创建了一些索引来匹配我的查询,否则即使是简单的count()也需要很长时间。但是,诸如distinct()和group()之类的查询仍然需要很长时间。例子://creationofacompoundin

performance - Mongodb聚合框架比map/reduce更快吗?

mongodb2.2引入的聚合框架,相比map/reduce有什么特别的性能提升吗?如果是,为什么以及如何以及多少钱?(我自己已经做过测试,性能差不多) 最佳答案 我亲自运行的每个测试(包括使用您自己的数据)都表明聚合框架比mapreduce快几倍,并且通常快一个数量级。只取您发布的数据的1/10(但不是清除操作系统缓存,而是先预热缓存-因为我想测量聚合的性能,而不是需要多长时间来分页数据)我得到了这个:MapReduce:1,058毫秒聚合框架:133ms从聚合框架中删除$match和从mapReduce中删除{query:}(因