Compare performance between different Azure SDK implementations and CLI for common storage operations.
- .NET 9.0 SDK
- Python 3.8+
- Node.js 18+
- Java 17+
- Maven 3.6+
- Azure CLI
- osslsigncode (for Linux code signing verification)
On Linux systems, install osslsigncode:
sudo apt-get update && sudo apt-get install -y osslsigncode
- Install the Azure CLI from: https://docs.microsoft.com/cli/azure/install-azure-cli
- Login to Azure:
az login
- Create a storage account and table:
# Create resource group
az group create --name mystorage-rg --location eastus
# Create storage account
az storage account create --name mystorageacct --resource-group mystorage-rg --location eastus --sku Standard_LRS
# Create table
az storage table create --name mytable --account-name mystorageacct
- Create a
.env
file in the root directory with:
AZURE_SUBSCRIPTION_ID=your_subscription_id
STORAGE_ACCOUNT_NAME=mystorageacct
-
Start PowerShell:
- Windows: Open PowerShell
- Linux/macOS:
pwsh
-
.NET Setup
cd net
dotnet restore
- Python Setup
cd python
python -m venv .venv
# Windows
.venv\Scripts\Activate.ps1
# Linux/macOS
./.venv/bin/Activate.ps1
pip install -r requirements.txt
- Node.js Setup
cd js
npm install
Run the Java project using Maven:
mvn -f java/pom.xml clean package exec:java -Dexec.mainClass="com.azsdkperf.App"
.\Compare-CommandTimes.ps1
This will execute the same storage operation using:
- .NET SDK
- Python SDK
- Node.js SDK
- Azure CLI
and compare their execution times.
Before running performance comparisons with signed assemblies:
-
Create a development certificate:
.\New-CodeSigningCert.ps1 -CertName "azuresdk"
-
Install the certificate when prompted using the default password:
Dev123!@#
-
Run comparisons with signing enabled:
.\Compare-CommandTimes.ps1 -CertificateSubject "CN=azuresdk" -IncludeSigning
Note: This uses a self-signed certificate for development purposes only.