Giter Site home page Giter Site logo

startautomating / benchpress Goto Github PK

View Code? Open in Web Editor NEW
52.0 52.0 4.0 1.22 MB

Easy Benchmarking with PowerShell

Home Page: https://benchpress.start-automating.com

License: MIT License

PowerShell 100.00%
benchmark benchmarking performance-testing powershell

benchpress's People

Contributors

aiikon avatar dfinke avatar mklement0 avatar santisq avatar startautomating avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

benchpress's Issues

Include Clock Speed in Results Overview

Benchmarking information is improved by having some sense of the overall capabilities of the machine. It would be nice to include the clock speed in Benchpress results.

Benchpress Action should be able to check in files

In order to facilitate easy consumption of benchmark metrics, the benchpress action should be able to check in files to the repository it is being used on.

Two files should be generated for each markdown file:

  1. A .clixml file
  2. A .md file

Benchmark using

Determine if it is faster to use using in a script than to reference the full name.

Redo the built-in test at higher RepeatCount

I feel like the default value of 100 is low for some scenarios. Like for example Benchmark Should I Include The System Namespace.

With the default 100 I get that one is the better.

Technique               Time            RelativeSpeed Throughput
---------               ----            ------------- ----------
NoSytemNamespace        00:00:00.007584 1x            13184.44/s
SystemNamespaceIncluded 00:00:00.008561 1.13x         11680.06/s

Even your results shows this:
https://github.com/StartAutomating/Benchpress/blob/master/docs/Should_I_Include_The_System_Namespace.benchmark.benchmarkOutput.md

Now if I redo it manually with RepeatCount 1000 then they appear to be the same:

Technique               Time            RelativeSpeed Throughput
---------               ----            ------------- ----------
SystemNamespaceIncluded 00:00:00.007344 1x            136150.75/s
NoSytemNamespace        00:00:00.007373 1x            135620.8/s

So I think redoing the tests at least in some cases would be benefitial, where each Technique runs for a good few seconds at least.

Incorrect $PSVersionTable.Platform check in How_Much_Faster_Is_Piping_To_A_ScriptBlock.benchmark

How_Much_Faster_Is_Piping_To_A_ScriptBlock.benchmark checks $PSVersionTable.Platform if it's windows, but on Powershell 7 at least that value is Win32NT, not Windows.

if ($PSVersionTable.Platform -and $PSVersionTable.Platform -ne 'Windows') {

I would rather just check if certutil is there:

Get-Command -Name 'certutil.exe'

Benchmark Command Lookup

Benchpress should contain a benchmark to compare various command lookup techniques (e.g. Get-Command vs $executionContext)

Benchpress should be able to Show-Benchmark

Show-Benchmark should default to a markdown file, however, if someone were to write an additional view for Benchmark.OutputFile, they should be able to use it with -View.

Benchmark output accumulation

Sometimes you'll want to accumulate results from a pipeline. This can be done with arrays, arraylists, queues, and Tee-Object. It would be nice to settle which is the fastest.

Readme.md - Reference PS Gallery?

More cosmetic than anything, but perhaps the readme.md could be updated to include something like:

Getting Started

Installation

Install-Module -Name Benchpress

Perhaps? (my immediate reaction on discovering this amazing tool was 'Oh, I wonder if it's on the gallery? or do I have to clone this from here at the moment?')

Happy for it to be dismissed though as it's a very minor thing :)

Path not resolved correctly when calling Checkpoint-Benchmark -ModuleName Benchpress

This looks like very interesting stuff!

My goal is just to run all of the benchmarks in the PowershellPerformance folder. I was following the readme, imported the psd1, and then called: Checkpoint-Benchmark -ModuleName Benchpress

What I get is some results, but a ton of
Resolve-Path : Cannot find path 'C:\PerformanceExperiments\WhatIsTheFastestWayToHashAFile.ps1' because it does not
exist.
At
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Utility\Microsoft.PowerShell.Utility.psm1:110
char:36
when my repo is locally cloned to C:\ldx\Benchpress

I'm also noting that some of the tests don't like to run in a development environment (due to importing the module via name instead of relative path to the test file) so without the module installed via gallery I can't run some of the tests without error. (although I do still get results for those).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.