Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update mpromise dependency so Promise.all can be used #1787

Closed
wants to merge 1 commit into from
Closed

Update mpromise dependency so Promise.all can be used #1787

wants to merge 1 commit into from

Conversation

maxwellium
Copy link

I am aware of #1699 use Q.js, however it's scheduled for v4. Until then, it'd be nice to bring Aaron's work on mpromise to fruition in here :)

tl;dr;
With mpromise we can now use .all([Array of Promises]) which is incredibly useful esp. for plugin creation.

With updated dependency in mongoose one does not have to resort to redundant modules in code (additionally include latest mpromise or use Q) only to enable p.all

With [mpromise](https://github.com/aheckmann/mpromise) we can now use .all([Array of Promises]) which is incredibly useful esp. for plugin creation. 

With updated dependency in mongoose one does not have to resort to redundant modules in code (additionally include latest mpromise or use Q) only to enable p.all
@mongoose-benchmarks
Copy link

Benchmarks for 940337c:
insert

Insert - Mongoose - Basic x 285 ops/sec ±43.15% (69 runs sampled)
Insert - Driver - Basic x 530 ops/sec ±12.13% (81 runs sampled)
Insert - Mongoose - Embedded Docs x 92.61 ops/sec ±11.35% (53 runs sampled)
Insert - Driver - Embedded Docs x 472 ops/sec ±12.92% (81 runs sampled)

delete

Delete - Mongoose x 566 ops/sec ±3.06% (84 runs sampled)
Delete - Driver x 619 ops/sec ±0.84% (87 runs sampled)

update

Update - Mongoose - Basic x 487 ops/sec ±4.46% (84 runs sampled)
Update - Driver - Basic x 573 ops/sec ±1.42% (85 runs sampled)
Update - Mongoose - Embedded Docs x 84.26 ops/sec ±8.70% (52 runs sampled)
Update - Driver - Embdedded Docs x 428 ops/sec ±1.75% (86 runs sampled)
Update - Mongoose - Multiple Documents x 304 ops/sec ±5.40% (74 runs sampled)
Update - Driver - Multiple Documents x 483 ops/sec ±10.02% (86 runs sampled)
Update - Mongoose - pop and push x 28.98 ops/sec ±10.96% (45 runs sampled)
Update - Mongoose - Array Manipulation, parallel ops x 255 ops/sec ±5.92% (70 runs sampled)
Update - Mongoose - findOneAndModify x 255 ops/sec ±9.52% (63 runs sampled)
Update - Mongoose - find and update, separate ops x 229 ops/sec ±8.52% (59 runs sampled)

read

Read - Mongoose - Basic x 554 ops/sec ±2.73% (84 runs sampled)
Read - Driver - Basic x 671 ops/sec ±0.91% (86 runs sampled)
Read - Mongoose - With lean x 592 ops/sec ±1.46% (86 runs sampled)
Read - Mongoose - Multiple Items x 143 ops/sec ±6.30% (56 runs sampled)
Read - Driver - Multiple Items x 489 ops/sec ±1.59% (84 runs sampled)
Read - Mongoose - Non-index x 183 ops/sec ±5.79% (57 runs sampled)
Read - Driver - Non-index x 405 ops/sec ±3.57% (81 runs sampled)
Read - Mongoose - Embedded Docs x 259 ops/sec ±7.96% (63 runs sampled)
Read - Driver - Embedded Docs x 646 ops/sec ±1.05% (85 runs sampled)

casting

Casting - Embedded Docs - 0 Docs x 2,883 ops/sec ±10.07% (46 runs sampled)
Casting - Embedded Docs - 10 Docs x 3,095 ops/sec ±9.33% (48 runs sampled)
Casting - Embedded Docs - 100 Docs x 2,887 ops/sec ±9.02% (47 runs sampled)
Casting - Embedded Docs - 1000 Docs x 1,739 ops/sec ±11.23% (40 runs sampled)
Casting - Embedded Docs - 10000 Docs x 472 ops/sec ±11.30% (37 runs sampled)

population

Populate - 1 value x 510 ops/sec ±4.18% (85 runs sampled)
Populate - 10 values x 328 ops/sec ±5.86% (74 runs sampled)
Populate - 100 values x 64.03 ops/sec ±7.09% (49 runs sampled)
Populate - 1000 values x 11.45 ops/sec ±6.74% (31 runs sampled)
Populate - 10000 values x 3.01 ops/sec ±5.50% (19 runs sampled)
Populate - 5 properties x 11.29 ops/sec ±7.44% (41 runs sampled)
Populate - 10 properties x 9.17 ops/sec ±7.77% (46 runs sampled)

multiop

Multi-Op - Mongoose - Heavy Read, low write x 6.77 ops/sec ±6.01% (37 runs sampled)
Multi-Op - Driver - Heavy Read, low write x 13.37 ops/sec ±4.11% (59 runs sampled)
Multi-Op - Mongoose - Embedded Docs - Heavy Read, low write x 1.64 ops/sec ±6.77% (12 runs sampled)
Multi-Op - Driver - Embedded Docs - Heavy Read, low write x 10.58 ops/sec ±3.29% (52 runs sampled)
Multi-Op - Mongoose - Heavy Write, low read x 3.97 ops/sec ±6.70% (24 runs sampled)
Multi-Op - Driver - Heavy Write, low read x 7.91 ops/sec ±3.45% (41 runs sampled)
Multi-Op - Mongoose - Embedded Docs - Heavy Write, low read x 0.59 ops/sec ±8.23% (8 runs sampled)
Multi-Op - Driver - Embedded Docs - Heavy Write, low read x 5.18 ops/sec ±4.85% (30 runs sampled)
Multi-Op - Mongoose - Embedded Docs - Read-write-update x 1.30 ops/sec ±9.08% (11 runs sampled)
Multi-Op - Driver - Embedded Docs - Read-write-update x 8.34 ops/sec ±3.27% (43 runs sampled)

@aheckmann
Copy link
Collaborator

closing. #1732 covered this.

@aheckmann aheckmann closed this Dec 9, 2013
@aheckmann
Copy link
Collaborator

thanks!

@refack
Copy link
Contributor

refack commented Dec 10, 2013

So warm and fuzzy inside 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants