)]}' { "commit": "9a28947636e8e10045e5db8ceb313fe832fd29ca", "tree": "de0e263a7ffe16c88a35d2f69a2eef795a258a4b", "parents": [ "739f2a25aea83fc3db119b85779b08fae465d0dd" ], "author": { "name": "Sameer Agarwal", "email": "sameeragarwal@google.com", "time": "Tue Sep 20 09:50:10 2022 -0700" }, "committer": { "name": "Sameer Agarwal", "email": "sameeragarwal@google.com", "time": "Tue Sep 20 13:47:33 2022 -0700" }, "message": "Speed up locking when num_threads \u003d 1.\n\nThis is done by locking a dummy mutex when num_threads \u003d 1.\n\nBefore on Mac M1 Pro\nBM_BlockSparseJacobiPreconditionerBA/1 55724955 ns 55150500 ns 12\nBM_BlockSparseJacobiPreconditionerBA/2 32243968 ns 32119545 ns 22\nBM_BlockSparseJacobiPreconditionerBA/4 21749220 ns 21448485 ns 33\nBM_BlockSparseJacobiPreconditionerBA/8 31190360 ns 27924520 ns 25\nBM_BlockSparseJacobiPreconditionerBA/16 31130365 ns 26186656 ns 32\nBM_BlockCRSJacobiPreconditionerBA/1 60739399 ns 60737750 ns 12\nBM_BlockCRSJacobiPreconditionerBA/2 35197331 ns 34524650 ns 20\nBM_BlockCRSJacobiPreconditionerBA/4 21977577 ns 21241606 ns 33\nBM_BlockCRSJacobiPreconditionerBA/8 31597485 ns 27892000 ns 25\nBM_BlockCRSJacobiPreconditionerBA/16 31097307 ns 21841367 ns 30\nBM_BlockSparseJacobiPreconditionerUnstructured/1 63510295 ns 63488833 ns 12\nBM_BlockSparseJacobiPreconditionerUnstructured/2 34208964 ns 34063333 ns 21\nBM_BlockSparseJacobiPreconditionerUnstructured/4 22443432 ns 22145455 ns 33\nBM_BlockSparseJacobiPreconditionerUnstructured/8 24571793 ns 22801323 ns 31\nBM_BlockSparseJacobiPreconditionerUnstructured/16 23507892 ns 20859250 ns 36\nBM_BlockCRSJacobiPreconditionerUnstructured/1 63282292 ns 63280273 ns 11\nBM_BlockCRSJacobiPreconditionerUnstructured/2 32994633 ns 32845810 ns 21\nBM_BlockCRSJacobiPreconditionerUnstructured/4 18249372 ns 17526200 ns 40\nBM_BlockCRSJacobiPreconditionerUnstructured/8 16539623 ns 15937341 ns 44\nBM_BlockCRSJacobiPreconditionerUnstructured/16 16549527 ns 12850294 ns 51\n\nAfter\n\n--------------------------------------------------------------------------------------------\nBenchmark Time CPU Iterations\n--------------------------------------------------------------------------------------------\nBM_BlockSparseJacobiPreconditionerBA/1 44348891 ns 44348875 ns 16\nBM_BlockSparseJacobiPreconditionerBA/2 32840149 ns 32706476 ns 21\nBM_BlockSparseJacobiPreconditionerBA/4 22318142 ns 21904419 ns 31\nBM_BlockSparseJacobiPreconditionerBA/8 31322712 ns 27964120 ns 25\nBM_BlockSparseJacobiPreconditionerBA/16 31742625 ns 26624577 ns 26\nBM_BlockCRSJacobiPreconditionerBA/1 49870369 ns 49869714 ns 14\nBM_BlockCRSJacobiPreconditionerBA/2 34901023 ns 34234900 ns 20\nBM_BlockCRSJacobiPreconditionerBA/4 21946689 ns 21215394 ns 33\nBM_BlockCRSJacobiPreconditionerBA/8 31461558 ns 27728360 ns 25\nBM_BlockCRSJacobiPreconditionerBA/16 30792414 ns 23063968 ns 31\nBM_BlockSparseJacobiPreconditionerUnstructured/1 62120649 ns 61979750 ns 12\nBM_BlockSparseJacobiPreconditionerUnstructured/2 33806314 ns 33729526 ns 19\nBM_BlockSparseJacobiPreconditionerUnstructured/4 22195685 ns 21831500 ns 32\nBM_BlockSparseJacobiPreconditionerUnstructured/8 25003440 ns 22765452 ns 31\nBM_BlockSparseJacobiPreconditionerUnstructured/16 24746505 ns 19425364 ns 33\nBM_BlockCRSJacobiPreconditionerUnstructured/1 57506343 ns 57502077 ns 13\nBM_BlockCRSJacobiPreconditionerUnstructured/2 33691442 ns 33584810 ns 21\nBM_BlockCRSJacobiPreconditionerUnstructured/4 18121943 ns 17579050 ns 40\nBM_BlockCRSJacobiPreconditionerUnstructured/8 17624991 ns 16086568 ns 44\nBM_BlockCRSJacobiPreconditionerUnstructured/16 16493819 ns 13160882 ns 51\n\nChange-Id: Ieac097f5e06a08b48170dcfb06b5145f1ee512e6\n", "tree_diff": [ { "type": "modify", "old_id": "b7ee0020e53a09964825e3c2c3e27d933085e0c5", "old_mode": 33188, "old_path": "internal/ceres/block_jacobi_preconditioner.cc", "new_id": "81eb419a26eb61abc363c634f9d7b1206921ea6a", "new_mode": 33188, "new_path": "internal/ceres/block_jacobi_preconditioner.cc" }, { "type": "modify", "old_id": "3c3d8874a10d64087f074c9de5c385ed14417d86", "old_mode": 33188, "old_path": "internal/ceres/parallel_for.h", "new_id": "234c7db1f832f235c57d3024810733c93546b9c0", "new_mode": 33188, "new_path": "internal/ceres/parallel_for.h" }, { "type": "modify", "old_id": "62b7487017dc1b7dcf535897c4611c4cd38defee", "old_mode": 33188, "old_path": "internal/ceres/schur_eliminator_impl.h", "new_id": "884c0cf3a3477ca4292bb27199897d5453b617f4", "new_mode": 33188, "new_path": "internal/ceres/schur_eliminator_impl.h" } ] }