小编Rel*_*ros的帖子

原生JavaScript排序执行速度比实现的mergesort和quicksort慢

我已经实现了mergesort和quicksort来将它们与原生JavaScript排序进行比较.对于快速排序我尝试使用此算法:在youtube上查看算法.两种算法都使用尽可能少的内存,对于合并排序,为每个递归调用传递辅助数组(以避免开销),对于快速排序,使用起始位置和结束位置的位置.我正在使用各种方法来管理NodeJs应用程序中的大量数据.

下面是mergesort,quicksort和本机JavaScript排序,您可以测试性能

问题是:为什么本机JavaScript执行速度较慢?

就我而言:

Chrome - 合并排序:度量:1997.920ms; 快速排序:措施:1755.740ms; native:measure:4988.105ms
节点:merge sort:measure:2233.413ms; 快速排序:措施:1876.055ms; 原住民:措施:6317.118ms

合并排序

var length = 10000000; //  ten millions;
var arr = [];
for (let i = length; i > 0; i--) {
  // random array
  arr.push(parseInt(Math.random() * 1000000000));
}
var mergeSort = function(array) {
  function merge(arr, aux, lo, mid, hi) {
    for (var k = lo; k <= hi; k++) {
      aux[k] = arr[k];
    }

    var i = lo;
    var j = mid + 1; …
Run Code Online (Sandbox Code Playgroud)

javascript sorting algorithm performance node.js

17
推荐指数
1
解决办法
6127
查看次数

何时使用本机React.useReducer Hook及其与Redux的区别

因此,React 16.8中提供了挂钩。从他们的文档来看,Hooks可以作为功能组件中状态的替代者。基本挂钩是:useStateuseEffectuseContext,但也有一些额外的钩子,其和为之一useReducer,它看起来像它使用相同的action-dispatch的终极版做架构。

问题是,是否由于相似而取代Redux?

是否更适合特定项目?

它适合哪里?

reactjs redux react-hooks

17
推荐指数
4
解决办法
3570
查看次数

有关MongoDB复制的以下哪些陈述是正确的?

  1. 副本集的最小有效投票节点数为3.
  2. MongoDB复制是同步的.
  3. Mongo shell能够附加到副本集并自动进行故障转移.
  4. 默认情况下,使用新的MongoClient连接类,w = 1且j = 1.
  5. oplog使用上限集合.

我已经选择了1,3,5的答案,但仍然得到错误的答案.任何人都可以帮助我哪一个是正确的复制选项?

mongodb mongodb-query

13
推荐指数
2
解决办法
2万
查看次数

5
推荐指数
1
解决办法
1万
查看次数

使用NodeJS中的UDP将多个客户端连接到同一服务器

同一台UDP服务器上可以有多个客户端吗?我想向所有连接的客户端广播相同的数据。

如果可以帮助的话,这将是一个初始示例...

// Server
var news = [
  "Borussia Dortmund wins German championship",
  "Tornado warning for the Bay Area",
  "More rain for the weekend"
];

var dgram = require('dgram');
var server = dgram.createSocket("udp4");
server.bind(function() {
  server.setBroadcast(true)
  server.setMulticastTTL(128);
  setInterval(broadcastNew, 3000);
});

function broadcastNew() {
  var message = new Buffer(news[Math.floor(Math.random() * news.length)]);
  server.send(message, 0, message.length, 5007, "224.1.1.1");
  console.log("Sent " + message + " to the wire...");
}

// Client 1
var PORT = 5007;
var dgram = require('dgram');
var client = dgram.createSocket('udp4'); …
Run Code Online (Sandbox Code Playgroud)

javascript udp node.js

2
推荐指数
1
解决办法
1712
查看次数