Vadim39
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Код: console.clear() tm=[]; map = new Map(); set = new Set(); /*Запуск таймера*/ k = 0; tm[k] = new Date().getTime(); var arr = new Array(10**8); for (var i = 0; i < arr.length; i++){ arr[i] = Math.floor(Math.random() * 1000); } /* Таймер */ timer('NodeJS: Создание массива данных длиной ' + arr.length/1000 + 'K'); //for(i in arr) set.add(arr[i]); for(i in arr) if( !map.has(arr[i]) ) map.set( arr[i], 1); else map.set(arr[i],map.get(arr[i])+1); /* Таймер */ timer('Выбор уникальных'); //console.log('найденных - ' + map.size) //console.log( Array.from(map).sort( (a, b) => a[0] - b[0] ).join('\n') ) /*= = = = = Functions = = = = =*/ function timer(N) { tm[++k] = new Date().getTime(); console.log( N + ' - ' + (tm[k] - tm[k-1]) ); } | Код: #language = "Python" Window.outputBar.clear(); Window.outputBar.visible = 1; import time import random import math tm = []; tm.append(int(time.time()*1000.0)) def timer(N): tm.append(int(time.time()*1000.0)); dif = tm[-1] - tm[0]; Window.outputBar.writeln("%s - %d" % (N, dif)) arr = []; for i in range(10**8): arr.append(math.floor(random.random() * 1000)) timer("Python: Создание массива данных длиной " + str(len(arr)/1000) + 'K') rez={} for i in range(len(arr)): if not rez.get(arr[i],0): # rez.setdefault(arr[i], 1) rez[arr[i]]=1 else: rez[arr[i]]+=1 timer("Выбор уникальных") #Window.outputBar.writeln(rez) | Код: myTimerCounter = 0; timerArray = []; timerArray[myTimerCounter] = new Date().getTime(); outputbar.clear(); outputbar.visible = true; var arr = new Array(1e7); for (i=0; i < arr.length; i++) arr[i] = ( Math.floor(Math.random() * 1000) ) /* Таймер */ timer('EmEditor: Создание массива данных длиной ' + arr.length/1000 + 'K'); map = new ActiveXObject("Scripting.Dictionary") ; for(i in arr) if( !map.Exists(arr[i]) ) map.Add( arr[i], 1); else map.Item(arr[i])++; /* Таймер */ timer('Выбор уникальных'); //outputbar.writeln ('Найденных - ' + map.Count); function timer(N) { timerArray[++myTimerCounter] = new Date().getTime(); OutputBar.writeln( N + ' - ' + (timerArray[myTimerCounter] - timerArray[myTimerCounter-1]) ); } |
| Всего записей: 1117 | Зарегистр. 11-04-2002 | Отправлено: 12:07 20-08-2020 | Исправлено: Vadim39, 12:18 20-08-2020 |
|