This is just the kind of low-hanging fruit we need to address!  At first
glance the patch looks good.  With the type of obvious speed
improvements I don't think we need a detailed profile report :).  Please
attach the patch to bug 889825 and it will get in the queue for
consideration and review.  

thanks,
Owen Williams

On Thu, 2012-03-08 at 18:38 +0530, Akash Shetye wrote:
> Hello everyone,
> 
> I was looking at the bug #889825 that was about the freezing of Mixxx
> gui when bulk amount of tracks are added to a crate. The freeze time
> is very irritating and reproducible for selections above 30 or so many
> tracks on my computer. As it is mentioned in the bug, the bottleneck
> is about the repeated inserts that are done iteratively for each
> selected track.
> 
> A little googling around and this reference suggested dramatic
> increase in speed on bulk inserts. An average insert statement that
> inserts one row consumes substantial overhead mainly due to the
> frequent commits to the DB which have to be written to disk. A work
> around suggested was that we use transactions to commit only when all
> bulk inserts have been executed. In this the data is written onto the
> RAM and not the disks and hence reduces our wait time per insert.
> 
> I wrote the code to use this approach. The results were very good.
> Possibly this approach in the DAOs of single SQL operations may be the
> reason for the bulk selections bottlenecks that we see in Mixxx. So
> this patch works for bulk inserts into a crate. Simply for the sake of
> a stress test:
> 
> 1)create new crate
> 2)go to library and select all and add to this crate
> 3)perhaps after a few seconds they all must be in
> 4)go to the crate and select all
> 5)remove them, since the remove functionality does not use this
> approach, it should be terribly slower.
> 
> I didn't have any quantitative tools to measure the performance
> difference so i counted from 1 onwards, but on an average during bulk
> add to crate before i could count to 38, with this improvement i can
> just count till 3, also for remove I could count till 28. Sorry for
> the nomadic measure of time :D
> 
> Thank you,
> Akash Shetye 
>  
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing 
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________ Mixxx-devel mailing list 
> Mixxx-devel@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel



------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to