Skip to content

GODRIVER-3632: Reroute to use perfcomp from DET #2163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 18, 2025

Conversation

zhouselena
Copy link
Contributor

GODRIVER-3632

Summary

  • Edit shell script to use perfcomp from drivers-evergreen-tools
  • Remove perfcomp directory from Go Driver

Background & Motivation

Pilot perf comparison PR comment tool for drivers.

Copy link
Contributor

mongodb-drivers-pr-bot bot commented Aug 8, 2025

🧪 Performance Results

Commit SHA: 79e131e

The following benchmark tests for version 68a362f8e45e930007b9ab6f had statistically significant changes (i.e., |z-score| > 1.96):

Benchmark Measurement % Change Patch Value Stable Region H-Score Z-Score
BenchmarkSingleRunCommand ops_per_second_min 28.8026 1748.7470 Avg: 1357.6949
Med: 1295.2227
Stdev: 181.3371
0.7653 2.1565
BenchmarkBSONFullDocumentDecoding ops_per_second_min 21.3254 2026.4862 Avg: 1670.2898
Med: 1637.1194
Stdev: 133.3434
0.8147 2.6713
BenchmarkBSONDeepDocumentDecoding ops_per_second_min 14.7138 2266.9980 Avg: 1976.2210
Med: 1984.2671
Stdev: 121.0901
0.7689 2.4013
BenchmarkMultiFindMany ops_per_second_med -2.2401 3115264.7975 Avg: 3186647.8094
Med: 3184713.3758
Stdev: 33432.9015
0.7469 -2.1351

For a comprehensive view of all microbenchmark results for this PR's commit, please check out the Evergreen perf task for this patch.

Copy link
Contributor

API Change Report

No changes found!

@zhouselena zhouselena force-pushed the GODRIVER-3632 branch 2 times, most recently from 92a6021 to 6a33311 Compare August 14, 2025 15:58
@zhouselena zhouselena marked this pull request as ready for review August 18, 2025 17:30
@Copilot Copilot AI review requested due to automatic review settings August 18, 2025 17:30
@zhouselena zhouselena requested a review from a team as a code owner August 18, 2025 17:30
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the performance comparison functionality from a local implementation in the Go Driver repository to using the centralized perfcomp tool from drivers-evergreen-tools.

  • Remove the entire perfcomp directory and its Go modules from the Go Driver
  • Update the shell script to use the external perfcomp tool from drivers-evergreen-tools
  • Adjust file paths and working directories to accommodate the new external tool location

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
internal/cmd/perfcomp/mdreport.go Removes the markdown report generation functionality
internal/cmd/perfcomp/main.go Removes the main CLI entry point for perfcomp
internal/cmd/perfcomp/go.mod Removes the Go module definition for perfcomp
internal/cmd/perfcomp/energystatistics_test.go Removes energy statistics unit tests
internal/cmd/perfcomp/compare.go Removes the core performance comparison logic and MongoDB analytics integration
etc/perf-pr-comment.sh Updates script to use external perfcomp tool and adjusts file paths

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


# Generate perf report.
GOWORK=off ./bin/perfcomp compare --project="mongo-go-driver" ${VERSION_ID} > ./internal/cmd/perfcomp/perf-report.txt
pushd $DRIVERS_TOOLS/.evergreen >/dev/null
Copy link
Preview

Copilot AI Aug 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable $DRIVERS_TOOLS is used without quotes, which could cause issues if the path contains spaces or special characters. Consider using "$DRIVERS_TOOLS" instead.

Suggested change
pushd $DRIVERS_TOOLS/.evergreen >/dev/null
pushd "$DRIVERS_TOOLS/.evergreen" >/dev/null

Copilot uses AI. Check for mistakes.

@zhouselena zhouselena merged commit 7d13d02 into mongodb:master Aug 18, 2025
33 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants