All Projects → DynamoDS → TuneUp

DynamoDS / TuneUp

Licence: Apache-2.0 license
A profiler for Dynamo graphs

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to TuneUp

wgpu-profiler
Simple profiler scopes for wgpu using timer queries
Stars: ✭ 45 (+66.67%)
Mutual labels:  profiler
wsgi lineprof
WSGI middleware for line-by-line profiling
Stars: ✭ 47 (+74.07%)
Mutual labels:  profiler
BadCoderz
Find unoptimized gmod addons and KILL the devs who made them
Stars: ✭ 66 (+144.44%)
Mutual labels:  profiler
OrchidForDynamo
This repository contains the content of the Orchid package for Dynamo
Stars: ✭ 81 (+200%)
Mutual labels:  dynamo
django-profile-middleware
An easy to use customizable django profiling middleware to profile and find bottlenecks in your code and custom middlewares
Stars: ✭ 36 (+33.33%)
Mutual labels:  profiler
goref
golang simple, thread-safe invocation tracker
Stars: ✭ 27 (+0%)
Mutual labels:  profiler
profiler
Continuous profiling based on pprof
Stars: ✭ 221 (+718.52%)
Mutual labels:  profiler
ofxTimeMeasurements
OpenFrameworks add-on to easily measure execution times on different parts of your code.
Stars: ✭ 90 (+233.33%)
Mutual labels:  profiler
dynamo-node
DynamoDB mapper
Stars: ✭ 12 (-55.56%)
Mutual labels:  dynamo
LazProfiler
One-Click-Profiler addon for Lazarus
Stars: ✭ 25 (-7.41%)
Mutual labels:  profiler
speckle-sharp
.NET SDK, Schema and Connectors: Revit, Rhino, Grasshopper, Dynamo, ETABS, AutoCAD, Civil3D & more.
Stars: ✭ 214 (+692.59%)
Mutual labels:  dynamo
live-profiler
Header only library for real time performance analysis, supports c, c++, go, java, .net
Stars: ✭ 18 (-33.33%)
Mutual labels:  profiler
VisualDiff
A Dynamo view extension to visually compare the differences between two Dynamo Graphs
Stars: ✭ 13 (-51.85%)
Mutual labels:  dynamo
EasyProfiler
This repo, provides query profiler for .Net
Stars: ✭ 99 (+266.67%)
Mutual labels:  profiler
GeniusLociForDynamo
Genius Loci is a package of 300+ custom nodes for Dynamo in Revit.
Stars: ✭ 17 (-37.04%)
Mutual labels:  dynamo
IYFThreading
A C++11 thread pool and profiler
Stars: ✭ 24 (-11.11%)
Mutual labels:  profiler
pylaprof
A Python sampling profiler for AWS Lambda functions (and not only).
Stars: ✭ 12 (-55.56%)
Mutual labels:  profiler
cozgo
Coz profiler Golang wrapper - Coz employs a novel technique we call causal profiling that measures optimization potential.
Stars: ✭ 99 (+266.67%)
Mutual labels:  profiler
spyder-line-profiler
This is a plugin to run the python line profiler from within the spyder editor.
Stars: ✭ 30 (+11.11%)
Mutual labels:  profiler
jquery-profile
jQuery plugin to profile calls to jQuery selectors.
Stars: ✭ 39 (+44.44%)
Mutual labels:  profiler

TuneUp

TuneUp is in beta.

TuneUp is a view extension for analyzing the performance of Dynamo graphs. TuneUp allows you to see overall graph execution time, per-node execution time, and other helpful information about what's happening under the hood, e.g. nodes run in the current execution v.s. nodes run in the previous execution (which were skipped during the most recent graph run for optimization/ caching).

Here is a short demo of how to utilize it as of now: TuneUp

Here is a mock up of the future design: Alt text

Building

Recommended Build Environment

  • VisualStudio 2019
  • .Net Framework 4.7 Developer Pack
  • Dynamo repository cloned and built on the same level of TuneUp repository which means your Dynamo repo and TuneUp repo should exist under the same parent folder.

Result Binaries

  • After a Debug build of Tuneup one can expect:
    • Under TuneUp\dist\TuneUp, there is a sample package wrapped up ready for publishing and adoption. This would be the un-optimized version.
    • Un-optimized package installed locally for [DynamoVersion] defined in TuneUp/TuneUp.csproj, under DynamoCore and DynamoRevit
  • After a Release build of Tuneup one can expect: Under TuneUp\dist\TuneUp, there is a sample package wrapped up ready for publishing and adoption. This would be the optimized version.

Known issues

  • TuneUp does not work with .dyfs (custom nodes) yet.
  • TuneUp binaries are not semantically versioned and are not intended to be built on top of as an API. Do not treat these binaries like DynamoCore.
  • TuneUp requires Dynamo 2.5 or higher for access to new extension APIs.
  • When user have TuneUp open, after switching workspace in Dynamo, the first graph run does not give execution time and nodes order.
  • Although it's not an issue by itself, TuneUp profiles the execution of graphs even if not showing on the extension bar.
  • In some cases TuneUp may calculate incorrect execution times for nodes, we cannot reproduce this consistently, if you see this occur and can reproduce it please file an issue!

Testing

Setup

Please check out known issues before trying to setup testing.

  • Download DynamoCoreRuntime 2.5.0 (or higher) from https://dynamobuilds.com/. Alternatively, you can build Dynamo from Dynamo repository and use the bin folder equivalently.
  • Copy all contents of the DynamoCoreRuntime to TuneUp\TuneUpTests\bin\Debug\. If you are building Dynamo locally, copy all contents of Dynamo from Dynamo/bin/AnyCPU/Debug to TuneUp\TuneUpTests\bin\Debug\
  • Copy TuneUp_ViewExtensionDefinition.xml from TuneUp\TuneUp\manifests\ to TuneUp\TuneUpTests\bin\Debug\viewExtensions\
  • Open the copied TuneUp_ViewExtensionDefinition.xml and change the assemply path to ..\TuneUp.dll
  • Remove TuneUp from your Dynamo packages folder if you have it installed from package manager (otherwise TuneUp.dll will get loaded twice). This won't work well.
  • Launch DynamoSandbox.exe, then click View-> Open Tune Up and use while a graph runs.

Running TuneUp Unit Tests

  • Install NUnit 2 Test Adapter from VisualStudio->Extensions->Manage Extensions->Online.
  • Open Test Explorer from VIsualStudio->Test->Test Explorer. Now you should see a list of TuneUpTests.
  • Click the target test to run or run them all.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].