Login  Register

Re: Contributing to VoyageMongo (improving insertion/updating speed)

Posted by stepharo on Jul 23, 2015; 11:31am
URL: https://forum.world.st/Contributing-to-VoyageMongo-improving-insertion-updating-speed-tp4838806p4838818.html

Hi holger

Esteban is on vacation and I do not who is another manager of the mongo
repo.

Stef

Le 23/7/15 12:23, Holger Freyther a écrit :

> Hi,
>
> I wanted to benchmark some look-ups with VoyageMongo and tried to insert
> some dummy objects and it was quite slow (pharo takes 99% CPU and mongo
> is idle). Using the nice profiler i noticed that VOMongoRepository>>#newVersion
> calls UUIDGenerator new makeSeed which will take quite long.
>
>
>    [UUIDGenerator new makeSeed] bench '96.9 per second.’
>
> I am running this on OSX so it will end up in >>#makeUnixSeed which will open
> /dev/urandom. I needed cryptographic random numbers in another project and
> used NativeBoost to call into libcrypto of OpenSSL and use the RAND_bytes
> function to get them.
>
>
>   [ (RAND rand: 4) asInteger ] bench '588,000 per second.’
>
>
> The quality of the random numbers should be comparable and now I wonder how
> I can help integrating such a change.
>
>  From my point of view I can either patch Voyage-Mongo-Core to be able to
> use other random number sources. Or I could add another “seed” source to
> the UUIDGenerator. What would be the preferred approach and how to move
> forward? Is NativeBoost something one could rely on in upcoming Pharo versions?
>
> For a simple insertion of a class with a couple (~5) fields the insertion time for
> 1000 items goes from ~10s to ~250ms.
>
> How can I move this forward?
>
> holger
>