suguru03 / Neo Async
Licence: other
Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster
Stars: ✭ 595
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Neo Async
Vertx Guide For Java Devs
Vert.x 3 guide for Java developers
Stars: ✭ 500 (-15.97%)
Mutual labels: async
Emacs Ng
A new approach to Emacs - Including TypeScript, Threading, Async I/O, and WebRender.
Stars: ✭ 525 (-11.76%)
Mutual labels: async
Chillout
Reduce CPU usage by non-blocking async loop and psychologically speed up in JavaScript
Stars: ✭ 565 (-5.04%)
Mutual labels: async
Async Raft
An implementation of the Raft distributed consensus protocol using the Tokio framework.
Stars: ✭ 510 (-14.29%)
Mutual labels: async
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (-11.26%)
Mutual labels: async
Fern.vim
🌿 General purpose asynchronous tree viewer written in Pure Vim script
Stars: ✭ 552 (-7.23%)
Mutual labels: async
Studio
A nodejs framework to create decoupled and scalable applications
Stars: ✭ 495 (-16.81%)
Mutual labels: async
Aredis
redis client for Python asyncio (has support for redis server, sentinel and cluster)
Stars: ✭ 576 (-3.19%)
Mutual labels: async
Posterus
Composable async primitives with cancelation, control over scheduling, and coroutines. Superior replacement for JS Promises.
Stars: ✭ 536 (-9.92%)
Mutual labels: async
Kneden
Transpile ES2017 async/await to vanilla ES6 Promise chains: a Babel plugin
Stars: ✭ 517 (-13.11%)
Mutual labels: async
Zsh Async
Because your terminal should be able to perform tasks asynchronously without external tools!
Stars: ✭ 528 (-11.26%)
Mutual labels: async
Lapin
AMQP client library in Rust, with a clean, futures based API
Stars: ✭ 497 (-16.47%)
Mutual labels: async
React Mobx React Router4 Boilerplate
React, React-Router 4, MobX and Webpack 2-boilerplate with async routes.
Stars: ✭ 566 (-4.87%)
Mutual labels: async
Redux Ecosystem Links
A categorized list of Redux-related addons, libraries, and utilities
Stars: ✭ 5,076 (+753.11%)
Mutual labels: async
Vs Threading
The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.
Stars: ✭ 585 (-1.68%)
Mutual labels: async
Heim
Cross-platform async library for system information fetching 🦀
Stars: ✭ 572 (-3.87%)
Mutual labels: async
Sockets
🔌 Non-blocking TCP socket layer, with event-driven server and client.
Stars: ✭ 559 (-6.05%)
Mutual labels: async
Neo-Async
Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster.
Benchmark is here!
Bluebird's benchmark is here!
Code Coverage
Installation
In a browser
<script src="async.min.js"></script>
In an AMD loader
require(['async'], function(async) {});
Promise and async/await
I recommend to use Aigle
.
It is optimized for Promise handling and has almost the same functionality as neo-async
.
Node.js
standard
$ npm install neo-async
var async = require('neo-async');
replacement
$ npm install neo-async
$ ln -s ./node_modules/neo-async ./node_modules/async
var async = require('async');
Bower
bower install neo-async
Feature
* not in Async
Collections
each
eachSeries
eachLimit
-
forEach
->each
-
forEachSeries
->eachSeries
-
forEachLimit
->eachLimit
-
eachOf
->each
-
eachOfSeries
->eachSeries
-
eachOfLimit
->eachLimit
-
forEachOf
->each
-
forEachOfSeries
->eachSeries
-
eachOfLimit
->forEachLimit
map
mapSeries
mapLimit
mapValues
mapValuesSeries
mapValuesLimit
filter
filterSeries
filterLimit
-
select
->filter
-
selectSeries
->filterSeries
-
selectLimit
->filterLimit
reject
rejectSeries
rejectLimit
detect
detectSeries
detectLimit
-
find
->detect
-
findSeries
->detectSeries
-
findLimit
->detectLimit
-
pick
* -
pickSeries
* -
pickLimit
* -
omit
* -
omitSeries
* -
omitLimit
* reduce
-
inject
->reduce
-
foldl
->reduce
reduceRight
-
foldr
->reduceRight
transform
-
transformSeries
* -
transformLimit
* sortBy
-
sortBySeries
* -
sortByLimit
* some
someSeries
someLimit
-
any
->some
-
anySeries
->someSeries
-
anyLimit
->someLimit
every
everySeries
everyLimit
-
all
->every
-
allSeries
->every
-
allLimit
->every
concat
concatSeries
-
concatLimit
*
Control Flow
parallel
series
parallelLimit
tryEach
waterfall
-
angelFall
* -
angelfall
->angelFall
* whilst
doWhilst
until
doUntil
during
doDuring
forever
compose
seq
applyEach
applyEachSeries
queue
priorityQueue
cargo
auto
autoInject
retry
retryable
iterator
times
timesSeries
timesLimit
race
Utils
apply
setImmediate
nextTick
memoize
unmemoize
ensureAsync
constant
asyncify
-
wrapSync
->asyncify
log
dir
timeout
reflect
reflectAll
createLogger
Mode
Benchmark
How to check
$ node perf
Environment
- Darwin 17.3.0 x64
- Node.js v8.9.4
- async v2.6.0
- neo-async v2.5.0
- benchmark v2.1.4
Result
The value is the ratio (Neo-Async/Async) of the average speed.
Collections
function | benchmark |
---|---|
each/forEach | 2.43 |
eachSeries/forEachSeries | 1.75 |
eachLimit/forEachLimit | 1.68 |
eachOf | 3.29 |
eachOfSeries | 1.50 |
eachOfLimit | 1.59 |
map | 3.95 |
mapSeries | 1.81 |
mapLimit | 1.27 |
mapValues | 2.73 |
mapValuesSeries | 1.59 |
mapValuesLimit | 1.23 |
filter | 3.00 |
filterSeries | 1.74 |
filterLimit | 1.17 |
reject | 4.59 |
rejectSeries | 2.31 |
rejectLimit | 1.58 |
detect | 4.30 |
detectSeries | 1.86 |
detectLimit | 1.32 |
reduce | 1.82 |
transform | 2.46 |
sortBy | 4.08 |
some | 2.19 |
someSeries | 1.83 |
someLimit | 1.32 |
every | 2.09 |
everySeries | 1.84 |
everyLimit | 1.35 |
concat | 3.79 |
concatSeries | 4.45 |
Control Flow
funciton | benchmark |
---|---|
parallel | 2.93 |
series | 1.96 |
waterfall | 1.29 |
whilst | 1.00 |
doWhilst | 1.12 |
until | 1.12 |
doUntil | 1.12 |
during | 1.18 |
doDuring | 2.42 |
times | 4.25 |
auto | 1.97 |
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].