Hi,
preliminary results from the techempower benchmark show that vertx goes from 7,179 to 34,678 request/sec on the "Single query" test. This is using 2.1M1 and is without the lastest speedup to local eventbus addresses.
In json and plaintext tests vertx is still one of the very fastest.
http://www.techempower.com/benchmarks/previews/round8/
regards,
Finn
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Finn, do you have your changes for the a) Json b) native Mongo driver? I would like to work on this, this week.
I've significantly increased the perf of the db test by not using the event bus at all. The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.
[Tim Fox]:
I've significantly increased the perf of the db test by not using the event bus at all. The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.
Unfortunately I can't replicate your finding. I tested your version at https://github.com/purplefox/FrameworkBenchmarks.
The mongo tests ran 2-3 times slower and the json test 10 times slower.
I had to add a -cp argument to include the mongo lib, I think that is missing from your version.
regards,
Finn
[Tim Fox]:
I've significantly increased the perf of the db test by not using the event bus at all. The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.
Unfortunately I can't replicate your finding. I tested your version at https://github.com/purplefox/FrameworkBenchmarks.
The mongo tests ran 2-3 times slower and the json test 10 times slower.
I had to add a -cp argument to include the mongo lib, I think that is missing from your version.
regards,
Finn
[Tim Fox]:
I've significantly increased the perf of the db test by not using the event bus at all. The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.
Unfortunately I can't replicate your finding. I tested your version at https://github.com/purplefox/FrameworkBenchmarks.
The mongo tests ran 2-3 times slower and the json test 10 times slower.
I'm a bit confused as to why you should see slower results. Just to clarify - then you say 'slower' do you mean slower than before my pull request? Or slower compared to something else.
Also... what OS are you using? Can you give details of the OS and machine setup?
The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.
The benchmark now uses the Mongo DB driver API directly and the main verticle is marked as a worker verticle.Wouldn't that be defeating the purpose of showing performance of vert.x using the eventbus and standard verticles ? So people could expect comparable results with their own vert.x implementation, and maybe learn how to do things properly.
Realistic
or Stripped
Alternatively you could look to seperate the Builder pattern from the runtime Object. I think it's difficult to optimize a general purpose random-access mutable object even though I imagine a lot of use-cases are much more linear. Whereas a streaming builder can be implemented to render direct to the target format (binary Buffer for Json or BSON for mongo etc) and should be much more memory efficient.
I use a standard JsonBuilder interface with a concrete implementation for JsonObject but plan to provide additional implementations that render to BSON, Buffer etc. If the client Verticle can render the DB objects as raw BSON then they could (in theory!) be transported across the EventBus and directly onto the Mongo Client socket without any codec steps (although there may be some wrapping/unwrapping of request envelopes)
-Peter
On Thursday, 28 November 2013 16:25:37 UTC, Paulo Lopes wrote:just throwing out some ideas, why do we need the jsonobject class and not just use java.util.Map and java.util.List?
I mean when i use groovy the api takes maps ans lists, when i code in js i can also put any object such as dates into json
and it seems simple enough and does not need so many checks and copies all around...
Why do we need a specialized class for java? I know that one can use maps and list and only emcapsulate as jsonobject when needed but i think if we would use the other way around first maps and lists and jsoobject for controlled type safety it could (eventually) increase performance of the whole system...
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+unsubscribe@googlegroups.com.
I've also made some significant performance improvements by a more sensible conversion between JsonObject and BasicDBObject in mongo persistor, and by lazily copying JsonObject over the event bus.
[Tim Fox]:
I've also made some significant performance improvements by a more sensible conversion between JsonObject and BasicDBObject in mongo persistor, and by lazily copying JsonObject over the event bus.
It's great. I get a 15% faster multi query test.
What is the reason for your change to the vertx.pool.eventloop.size default?
And even with the change I only get 10 eventloop threads. And mine are numbered 0 to 10 but number 2 is always missing. Strange !
BTW, last day for submission of patches for round 8 is monday.
--
regards,
Finn
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
On 5. Dezember 2013 at 20:08:54, El Gazali (elhosin...@gmail.com) wrote:
I just hope that Vert.x is ready to go for round 8?