Comments (3)
Using:
MaplessMongoRepository>>save: aMapless writeConcern: aConcernOrNil
"Storage this instance into the persistent collection"
self onBeforeSave: aMapless.
self upsert: aMapless writeConcern: aConcernOrNil.
self onAfterSave: aMapless
Using upsert for saves in a standalone MongoDB
Benchmarking...
Saved 1000 instances of MaplessDummyPerson in: 0:00:00:01.861 ms (~537 saves per second)
Read 1000 instances of MaplessDummyPerson in: 0:00:00:01.491 ms (~670 reads per second)
Saved 10000 instances of MaplessDummyPerson in: 0:00:00:17.327 ms (~577 saves per second)
Read 10000 instances of MaplessDummyPerson in: 0:00:00:13.231 ms (~755 reads per second)
Saved 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:02.559 ms (~390 saves per second)
Read 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:01.126 ms (~888 reads per second)
Saved 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:27.257 ms (~366 saves per second)
Read 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:12.975 ms (~770 reads per second)
Using upsert for saves in a MongoDB replica set with 3 nodes
Benchmarking...
Saved 1000 instances of MaplessDummyPerson in: 0:00:00:11.306 ms (~88 saves per second)
Read 1000 instances of MaplessDummyPerson in: 0:00:00:05.495 ms (~181 reads per second)
Saved 10000 instances of MaplessDummyPerson in: 0:00:01:46.798 ms (~93 saves per second)
Read 10000 instances of MaplessDummyPerson in: 0:00:01:01.827 ms (~161 reads per second)
Saved 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:23.523 ms (~42 saves per second)
Read 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:05.84 ms (~171 reads per second)
Saved 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:01:51.96 ms (~89 saves per second)
Read 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:14.073 ms (~710 reads per second)
from mapless.
Using:
MaplessMongoRepository>>save: aMapless writeConcern: aConcernOrNil
"Storage this instance into the persistent collection"
self onBeforeSave: aMapless.
(self isUnsaved: aMapless)
ifTrue: [ self insert: aMapless writeConcern: aConcernOrNil ]
ifFalse: [ self update: aMapless writeConcern: aConcernOrNil ].
self onAfterSave: aMapless
Without using upsert for saves in a standalone MongoDB
Benchmarking...
Saved 1000 instances of MaplessDummyPerson in: 0:00:00:00.304 ms (~3289 saves per second)
Read 1000 instances of MaplessDummyPerson in: 0:00:00:00.232 ms (~4310 reads per second)
Saved 10000 instances of MaplessDummyPerson in: 0:00:00:02.396 ms (~4173 saves per second)
Read 10000 instances of MaplessDummyPerson in: 0:00:00:02.426 ms (~4122 reads per second)
Saved 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:00.554 ms (~1805 saves per second)
Read 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:00.247 ms (~4048 reads per second)
Saved 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:04.9 ms (~2040 saves per second)
Read 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:02.556 ms (~3912 reads per second)
Without using upsert for saves in a MongoDB replica set with 3 nodes
Benchmarking...
Saved 1000 instances of MaplessDummyPerson in: 0:00:00:02.466 ms (~405 saves per second)
Read 1000 instances of MaplessDummyPerson in: 0:00:00:01.538 ms (~650 reads per second)
Saved 10000 instances of MaplessDummyPerson in: 0:00:00:22.889 ms (~436 saves per second)
Read 10000 instances of MaplessDummyPerson in: 0:00:00:14.441 ms (~692 reads per second)
Saved 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:05.177 ms (~193 saves per second)
Read 1000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:01.436 ms (~696 reads per second)
Saved 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:45.207 ms (~221 saves per second)
Read 10000 instances of MaplessDummyPerson and MaplessDummyUser in: 0:00:00:14.64 ms (~683 reads per second)```
from mapless.
Closing. Resolved with #70
from mapless.
Related Issues (20)
- Prune MaplessSQLitePool from unneeded methods
- Add CI via GitHub workflows HOT 1
- Update master to latest production versions for Pharo 7 HOT 1
- Current latest can't be loaded in Pharo 10 HOT 1
- Update github pages
- Readme missing step HOT 1
- Pin all dependencies versions HOT 1
- Rename Dummy* to Sample* HOT 1
- Add relevant badges HOT 1
- Explore possibility of using Traits to drop the requirement to subclass HOT 4
- Redis PUB/SUB HOT 2
- Improve unit test coverage for Mapless-Mongo-Core
- Make SQLite log all queries if LOG_LEVEL env var is #DEBUG
- CouchDB use case
- Is Gatling worth adding?
- Postgres -> PostgreSQL and Mongo -> MongoDB
- fromBSONByteArray: aByteArray in: aMaplessRepository HOT 1
- Minor doc edits HOT 1
- MaplessSQLitePool remove: needs to update its API for disconnecting clients HOT 1
- Move MaplessBehavior to its own package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mapless.