我已经实现了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)因此,React 16.8中提供了挂钩。从他们的文档来看,Hooks可以作为功能组件中状态的替代者。基本挂钩是:useState
,useEffect
,useContext
,但也有一些额外的钩子,其和为之一useReducer
,它看起来像它使用相同的action-dispatch
的终极版做架构。
问题是,是否由于相似而取代Redux?
是否更适合特定项目?
它适合哪里?
我已经选择了1,3,5的答案,但仍然得到错误的答案.任何人都可以帮助我哪一个是正确的复制选项?
裸机(基于管理程序)和主机虚拟化类型之间有什么区别?
virtualization vmware virtualhost virtual-machine cloud-bare-metal
同一台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 ×2
node.js ×2
algorithm ×1
mongodb ×1
performance ×1
react-hooks ×1
reactjs ×1
redux ×1
sorting ×1
udp ×1
virtualhost ×1
vmware ×1