Skip to content
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

Performance benchmarking framework for Swift projection tooling #2586

Open
6 tasks
Tracked by #95633
kotlarmilos opened this issue May 13, 2024 · 0 comments
Open
6 tasks
Tracked by #95633

Performance benchmarking framework for Swift projection tooling #2586

kotlarmilos opened this issue May 13, 2024 · 0 comments
Assignees
Labels
area-SwiftBindings Swift bindings for .NET

Comments

@kotlarmilos
Copy link
Member

kotlarmilos commented May 13, 2024

Overview

This issue outlines the development of a performance benchmarking framework for Swift projection tooling. The framework aims to measure performance metrics, compare them with Objective-C wrappers, and include telemetry data to tracking impact of changes.

Proposal

  • Invocation latency: The time required for pinvoke method invocations with and without Objective-C wrappers.
  • Size on disk (SOD): The disk space utilization by the generated bindings.
  • Startup and execution time: The startup and execution time for e2e scenarios End-user scenarios for .NET Swift interop runtime#95636.

Additionally, the framework will integrate telemetry data to compare usage with tooling changes.

Tasks

The list of tasks:

  • Framework architecture design (with the existing performance components?)
  • Telemetry integration (within the SDK?) to gather usage data
  • Performance benchmarking
    • Compare direct vs. ObjC wrapper performance benchmarks for pinvoke invocations
    • Evaluate performance metrics for e2e scenarios
    • Set up monitoring system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-SwiftBindings Swift bindings for .NET
Projects
None yet
Development

No branches or pull requests

2 participants