Benchmark#

To evaluate the computational efficiency of GOBRec, we compared its execution time against Mab2Rec and iRec recommendation libraries on three MovieLens datasets of increasing scale.

Experiments were conducted in an incremental offline setting. The first 50% of interactions were used to warm up the models, while the remaining data were divided into ten equally sized windows. In each window, recommendations were generated, and the underlying models were incrementally updated using the observed decisions. Each experiment was repeated five times, with the average elapsed execution time and the speed-up achieved by GOBRec reported in the Table bellow.

LinGreedy LinUCB LinTS
Mab2ReciRec Mab2ReciRec Mab2ReciRec
GOBRec MovieLens-100k
Time0.80.5 Time1.10.9 Time1.91.4
CPU 0.01106.7×66.7× 0.0715.6×13.5× 0.0729.0×21.4×
GPU 0.00192.1×120.6× 0.01102.5×88.5× 0.00379.1×279.3×
MovieLens-1M
Time18.015.7 Time23.919.2 Time41.433.5
CPU 0.11168.6×147.1× 1.3218.0×14.5× 1.2632.8×26.5×
GPU 0.06322.4×281.2× 0.20117.4×94.3× 0.07576.6×466.6×
MovieLens-10M
Time406.5332.6 Time526.1441.4 Time941.3780.8
CPU 2.05198.1×162.1× 28.2118.7×15.7× 27.7034.0×28.2×
GPU 0.85476.3×389.7× 4.13127.4×106.9× 1.21778.9×646.1×

The results highlight the computational efficiency of GOBRec, particularly for the LinGreedy and LinTS models, for which the GPU-enabled implementation achieves speed-ups of more than 400× and 700×, respectively, compared to Mab2Rec. Similar trends are observed in comparisons with iRec, where GOBRec consistently outperforms the baseline library across all evaluated CMAB models and datasets.

Scalability analysis reveals that GOBRec maintains near-linear time complexity relative to interaction volume; a 100× increase in data resulted in only a 121× increase in execution time for LinTS. In contrast, baselines exhibited super-linear growth (up to 558×), demonstrating GOBRec’s suitability for production-scale interaction matrices. Results show that even in scenarios with limited GPU availability, the optimized CPU implementation of GOBRec can substantially outperform competing libraries, achieving speed-ups of more than 100× for the LinGreedy model in all MovieLens datasets.

The conducted experiments can be reproduced using the code available in the experiments folder of GOBRec repository.