• Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    C#
  • License
    MIT License
  • Created over 12 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SimpleSpeedTester is a simple, easy to use framework that helps you speed test your .Net code by taking care of some of the orchestration for you.

Simple Speed Tester (@SimpleSpdTester)

Simple Speed Tester is a simple, easy to use framework that helps you speed test your .Net code by taking care of some of the orchestration for you.

It should NOT be confused with a performance profiler such as JetBrains' dotTrace or RedGate's ANTS profiler.

The Simple Speed Tester is intended for one thing and one thing only – help you speed test a specific piece of code/method over multiple runs, collate the results and work out the average for you so you only have to focus on producing the code you want to test.

Where it might be useful is when you want to compare the performance of two similar components/methods in terms of speed, for instance, the serialization and deserialization speed of DataContractJsonSerializer vs JavaScriptSerializer.

Getting Started

A detailed example program is included in the source code, but in the most basic case all you need is one line of code to execute a test (in the form of an Action delegate) a number of times and get back a summary including the number of successful (no exception) and failed (excepted) runs as well as the average time (in milliseconds) each test run took.

    // initialize a new test group
    var testGroup = new TestGroup("Example2");

    // PlanAndExecute actually executes the Action delegate 5 times and returns the result summary
    var testResultSummary = testGroup.PlanAndExecute("Test1", () => ExecuteTest(), 5);

    Console.WriteLine(testResultSummary);
    /* prints out something along the line of
     *
     * Test Group [Example2], Test [Test1] results summary:
     * Successes   [5]
     * Failures    [0] 
     * Average Exec Time [...] milliseconds
     *
     */

For more examples, check out the [Documentation] (https://github.com/theburningmonk/SimpleSpeedTester/wiki/Examples) page.

NuGet

Download and install Simple Speed Tester using NuGet.

NuGet package

More Repositories

1

manning-aws-lambda-in-motion

Code for the Manning video course "Production-Ready Serverless: Operational Patterns and Practices"
JavaScript
190
star
2

appsyncmasterclass-backend

Backend for the AppSync Masterclass demo app
JavaScript
100
star
3

lambda-logging-demo

Demo for shipping logs to ELK stack, and to auto-subscribe new log groups
JavaScript
91
star
4

lambda-saga-pattern

Implementing the Saga pattern for Lambda functions using Step Functions
JavaScript
88
star
5

lambda-config-demo

Demo of approaches to config management for AWS Lambda
JavaScript
72
star
6

event-sourcing-demo

Demo app to illustrate how you can build an event-sourced system with Lambda and DynamoDB
JavaScript
67
star
7

janitor-lambda

Lambda function to clean up old, unreferenced versions of Lambda functions
JavaScript
58
star
8

lambda-protobuf-demo

Demo using API Gateway and Lambda with Protocol Buffer
JavaScript
52
star
9

better-dynamodb-scaling

Make DynamoDB's autoscaling action happen faster
JavaScript
50
star
10

elm-snake

Implementation of Snake in Elm
HTML
44
star
11

production-ready-serverless-workshop

Demo project for the production-ready serverless workshop
41
star
12

complete-guide-to-step-functions-examples

Examples for the "Complete Guide to Step Functions" course
JavaScript
41
star
13

FSharp.Markdown.Pdf

PDF formatting from FSharp.Markdown
F#
34
star
14

lambda-monorepo-code-sharing-demo

Demo to illustrate how you can share code between SLSL projects using monorepo
JavaScript
34
star
15

lambda-platform-perf-comparison

Java
31
star
16

lambda-coldstart-comparison

Comparing the coldstart time of AWS Lambda functions using a variety of language runtime and memory size
JavaScript
31
star
17

lambda-logging-kinesis-demo

Demo of how to ship logs from CloudWatch Logs to a Kinesis stream, and then ship them to Logz.io
JavaScript
30
star
18

ReactoKinesix

A Rx based .Net client library for working with Amazon Kinesis
F#
29
star
19

lambda-logging-metrics-demo

How to apply Datadog's approach for sending custom metrics asynchronously.
JavaScript
29
star
20

lambda-correlation-id-demo

How to track correlation IDs across APIs, SNS and Kinesis events
JavaScript
24
star
21

stream_ext

A port of the Rx functions to make Dart's Stream type even easier to use!
Dart
21
star
22

appsync-hierarchical-permissions-demo

A demo of how to implement hierarchical access models with AppSync and Cognito
JavaScript
21
star
23

BitSyntax

F# Workflow and helper functions for working with a Stream at bit level
F#
20
star
24

lambda-recursive-s3-demo

Recursive AWS Lambda function for processing large S3 file
JavaScript
19
star
25

passwordless-magic-links-cognito-demo

How to implement passwordless login using magic links with Cognito.
JavaScript
17
star
26

lambda-x-ray-demo

JavaScript
16
star
27

RandomArtsBot

Twitter bot for generating random art
F#
16
star
28

appsync-multi-tenant-demo-with-cognito

Demo app for how to implement multi-tenancy with AppSync and Cognito. Part of the AppSync Masterclass (https://appsyncmasterclass.com).
JavaScript
15
star
29

exercises-in-programming-style-fsharp

F# port of the examples in "Exercises in Programming Style"
F#
14
star
30

e2e-test-sns-kinesis-demo

Demo to illustrate how you can include SNS and Kinesis in end-2-end tests
JavaScript
14
star
31

elm-missile-command

Missile command implemented in Elm
HTML
14
star
32

appsyncmasterclass-frontend

Frontend project for the AppSync Masterclass
Vue
13
star
33

lambda-distributed-tracing-demo

Demo of X-Ray, Lumigo, Epsagon and Thundra
JavaScript
13
star
34

Metricano

Agent-based F# library for collecting, aggregating and publishing metrics (e.g. to Amazon CloudWatch)
F#
13
star
35

sns-to-api-gateway-demo

Demo to illustrate how to build a API that can subscribe to a SNS topic
JavaScript
12
star
36

serverless-plugin-extrinsic-functions

Introduces additional Fn:: functions
JavaScript
12
star
37

self-adjusting-kinesis-function-demo

Demo app to illustrate how to write a Lambda function that self-adjusts its batch size to control throughput of Kinesis events
JavaScript
12
star
38

aws-sdk-coldstart-overhead

Experiment to see how much overhead aws-sdk adds to Node.js functions
JavaScript
11
star
39

passwordless-otp-cognito-demo

How to implement passwordless login using OTP with Cognito
JavaScript
11
star
40

serverless-dynamodb-to-eventbridge-plugin

Plugin for converting DynamoDB events into events in EventBridge
JavaScript
11
star
41

eventbridge-schedule-self-delete-demo

JavaScript
11
star
42

step-functions-bluegreen-deploy-demo

Demo project to illustrate how to implement blue-green deployment with Step Functions so you don't break existing executions.
JavaScript
10
star
43

production-ready-serverless-workshop-devternity

"Production-Ready Serverless" workshop at DevTernity 2018
10
star
44

Darkseid

Actor-based library to help you more effectively and easily push data into an Amazon Kinesis stream by taking care of the heavy lifting for you.
F#
9
star
45

AdventOfCodeFs

Advent of Code (http://adventofcode.com/) solutions in F#
F#
8
star
46

recursive-lambda-for-sqs-part2

Code sample for part 2 of my recursive SQS lambda function post
JavaScript
8
star
47

passwordless-cognito-ui-demo

Frontend app to go with the backend Cognito demos
Vue
8
star
48

ProjectEuler-FSharp-Solutions

My F# solutions to ProjectEuler challenges
F#
8
star
49

powertune-lambda-CICD-demo

Demo of how to run powertune-lambda with lumigo-cli to auto-tune functions as part of CI/CD pipelines
Shell
7
star
50

Sticky-Note

A sim­ple app that lets you write short notes on sticky notes and save them
JavaScript
7
star
51

getting-started-with-serverless-development-with-lambda-devopsdays-ams

Workshop on how to get started with serverless development with AWS Lambda
7
star
52

production-ready-serverless-verdant

6
star
53

protobuf-net

Clone of the SVN repository on GoogleCode (http://code.google.com/p/protobuf-net/)
C#
6
star
54

production-ready-serverless-workshop-aws-ug

Public workshop with the AWS UG
6
star
55

dynamodb-ttl-as-scheduling

Experiment to see how you can use DynamoDB TTL + DynamoDB Streams as a scheduling mechanism.
JavaScript
6
star
56

run_taotie_run

A mini game themed about Taotie monsters from Here Be Monsters.
Dart
6
star
57

HashSet-vs-List-vs-Dictionary

Simple performance test of HashSet<T> vs List<T> and Dictionary<TKey, TValue>
C#
6
star
58

ApiGateway-custom-auth-AppSync-demo

Demo of how to put API Gateway in front of AppSync to use custom Lambda authorizer
JavaScript
6
star
59

production-ready-serverless-workshop-aws-ug-demo

Demo project for the Production-Ready Serverless workshop at AWS UG
JavaScript
6
star
60

big-mouth

demo app for AWS Lambda in Motion
JavaScript
6
star
61

lambda-emf-demo

Demo of using AWS Lambda with the Embedded Metric Format support from CloudWatch
JavaScript
5
star
62

lambda-reuse-test-cases

Demo of simple technique to reuse test cases for integration and acceptance testing
JavaScript
5
star
63

elm-LSystem

L-System examples in Elm
HTML
5
star
64

lambda-failure-injection-demos

Demos for injection failures to a serverless app
HTML
5
star
65

lambda-log-timeout-demo

Demo project to show you how to trap and log Lambda timeouts
JavaScript
5
star
66

serverless-monitoring-workshop-slsdays-cardiff-demo

Demo app for the Serverless monitoring and troubleshooting workshop
JavaScript
5
star
67

log4net.kinesis

log4net appender for logging to Amazon Kinesis
F#
5
star
68

Sketchy

A simple drawing app built on HTML5 canvas
JavaScript
5
star
69

lambda-kinesis-retry-with-sns-demo

This demo shows how you can use SNS to retry failed Kinesis events out-of-band so you can continue processing Kinesis events without having to stop for the failed events.
JavaScript
5
star
70

elm-flame-particle

Emulating flame in Elm using a simple particle system
HTML
4
star
71

lambda-infinite-loop-demo

Demo how to stop infinite loops
JavaScript
4
star
72

recursive-lambda-for-sqs

Experiment using recursive AWS Lambda function to process SQS
JavaScript
4
star
73

lambda-when-will-i-coldstart

Experiment to find out how long your function would need to be idle for for it to be recycled
JavaScript
4
star
74

PerfTest-Cost-of-throwing-exceptions

A simple test to measure the cost of throwing exceptions in C#
C#
4
star
75

Whack_A_Meng

What-A-Mole style mini-game centred around characters from Here Be Monsters game
Dart
4
star
76

lambda-latency-injection-demo

Demo for how to apply latency injection to Lambda functions
JavaScript
4
star
77

production-ready-serverless-workshop-codemesh-demo

Demo project for the Production-Ready Serverless workshop at CodeMesh
JavaScript
3
star
78

lambda-step-functions-demo

Demo for using AWS step functions
JavaScript
3
star
79

erlang-stable-marriage

Erlang solution to the stable marriage problem
Erlang
3
star
80

theburningmonk

3
star
81

debugging-lambda-perf-issues-demo

Demos to show different approach to tracking integration point perf
JavaScript
3
star
82

prsls-hl-2-demo

HTML
3
star
83

sls-circleci-test

Repo to test serverless deployment with circleci
JavaScript
3
star
84

fsLogger

F#
3
star
85

dashbird-demo

A simple demo app to show how you can use Dashbird to debug serverless apps
JavaScript
3
star
86

getting-started-with-serverless-development-with-lambda-BCS

BCS workshop on how to get started with serverless development with AWS Lambda
3
star
87

serverless-monitoring-and-troubleshooting-workshop-aws-community-day-nordics-demo

Demo app for the Serverless monitoring and troubleshooting workshop
JavaScript
3
star
88

lambda-callback-demo

2
star
89

Under_Surveillance

GameCraft 2013 Dart game
Dart
2
star
90

getting-started-with-serverless-development-with-lambda-devopsdays-ams-demo

Demo app for DevOpsDays Amsterdam workshop
JavaScript
2
star
91

prsls-online-jan-2023

Production-Ready Serverless Jan 2023
2
star
92

production-ready-serverless-workshop-demo

JavaScript
2
star
93

SimpleFsmInFSharpVsErlang

A simple FSM in F# and Erlang
Erlang
2
star
94

dynamodb-ondemand-scaling-test

Test to see how well DynamoDB's ondemand pricing deals with different traffic patterns
JavaScript
2
star
95

raven-dart

Raven is a Dart client for Sentry (getsentry.com) https://www.getsentry.com
Dart
2
star
96

production-ready-serverless-workshop-dvla-demo

Demo project for the production-ready-serverless-workshop-dvla workshop
JavaScript
2
star
97

production-ready-serverless-workshop-devternity-demo

Demo project for the Production-Ready Serverless workshop at DevTernity
JavaScript
1
star
98

optimized-aws-sdk-via-layers-demo

Experiment to see how one can ship a version of the AWS SDK with HTTP keep-alive enabled via Lambda Layers
JavaScript
1
star
99

launchdarkly-with-lambda

Investigation to see how feasible it is to use LaunchDarkly with AWS Lambda
JavaScript
1
star
100

cfn-cw-alarms-macro

CloudFormation macro for auto-generating CloudWatch Alarms based on organization level conventions.
1
star