P5 for promise visualization.
- clone repository
git clone https://github.com/reallyTG/p5-promise-viz.git
- Start local http server
- Note: We have to use a server because we are loading file data from JavaScript
- Using PHP
- e.g.
php -s localhost:1024
) from the directory where index.html resides
- e.g.
- Using Python3
- e.g.
python3 -m http.server 1024
from the directory where index.html resides
- e.g.
- Using Python2
- e.g.
python -m SimpleHTTPServer 1024
from the directory where index.html resides
- e.g.
- Start webbrowser at local http address (e.g.
localhost:1024
in the browser bar)- Test by clicking on this URL for a project (Assuming you are using port 1024):
- http://localhost:1024/?x=-26.09410059573868&y=569.6268474329406&z=0.3416720635297972&f=./results/processed-results-1625068862120.json
- The project uses URL Parameters to set the x, y, zoom, and the file to be loaded.
- Note: Sometimes visualization gets cached, try opening incognito if the visualization has not changed.
- Overleaf paper with edit access
- This is where everything eventually needs to go
- https://docs.google.com/spreadsheets/d/1OmBX5fRUwys8eQI7Ome6Y1vFS5uo6ofk7p17HBVIIbU/edit#gid=0
- This is slightly older when Mark was active on the project.
- AsyncAwaitBenchmarks Github Repo
- Old repository where we were going to write paper.
- ProfilingPromisesExamples
- Repository with small examples
- manifest
- Benchmarks in this project
- Promise processing
- Repo for processing results.
- Promise Analysis
- Repo for analysis
- Profiling Promises Benchmarks
- Profiling Promises Benchmarks
- Promise-Resolve-Then Pattern Example (from Alexi)
- explicit promisification anti-pattern (from Frank)
- additional anti-pattern to look for in the promise profiling project (from Frank)
- found the issue in CodeceptJS! (from Frank)
- Profilin': Update on CodeceptJS (From Alexi)
- Profilin' Brief Update (From Alexi)
- Await-in-a-loop pattern
- what "await 7" is translated into (from Frank)
- another pattern: awaiting a value (from Frank)
- explaining the "airplane tail" diagram (from Frank)
- Profiling Promises Results from today's meeting (from Mark)
- references - blog posts, etc. relevant for profiling project (from Frank)
- Sequential
- Description: Completely Sequential (no asynchronicity at all)
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- testrunner
- Description: One long running promise with many smaller promises.
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- airplane
- Description:
- See E-mail: explaining the "airplane tail" diagram
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- Await-in-a-loop pattern
- Description:
- See E-mail: Profilin' Brief Update (From Alexi)
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- Awaiting a value
- Description:
- See E-mail: another pattern: awaiting a value (from Frank)
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- Barrier Pattern
- Description:
- See E-mail: Profiling Promises Results from today's meeting (from Mark)
- Project(s) Showing pattern:
- Project 1 ...
- Project 2 ...
- Don’t Call Us, We’ll Call You:
Characterizing Callbacks in JavaScript
- Code repositories for paper: https://github.com/saltlab/CallMeBack
- "stats" directory has some projects listed that should be useful.
- The paper highlights a few metrics we may want to eventually capture as well ('how nested async calls are', '% of functions that are async')
- A study and toolkit for asynchronous programming in C#
- See e-mail from Alexi: Fwd: link to the C# paper
- Analyzing Async Calls
- Timelane 2
- https://docs.microsoft.com/en-us/visualstudio/profiling/concurrency-visualizer?view=vs-2019
- https://blogs.oracle.com/nbprofiler/profiling-with-visualvm,-part-1
- https://devblogs.microsoft.com/cppblog/concurrency-code-analysis-in-visual-studio-2019/
- https://www.drdobbs.com/windows/visualizing-parallelism-and-concurrency/220900288
- https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/profiler.html
- https://visualstudiomagazine.com/articles/2017/10/01/code-analysis.aspx
- https://marketplace.visualstudio.com/items?itemName=Diagnostics.ConcurrencyVisualizer2017
- https://www.jetbrains.com/dotnet/
- https://www.baeldung.com/java-profilers
- https://adamsitnik.com/ConcurrencyVisualizer-Profiler/ -http://hydronitrogen.com/profiling-a-running-jvm-tools-you-should-know.html
- https://hackernoon.com/profiling-java-applications-with-async-profiler-049s2790
- https://dzone.com/articles/c-async-await-tasks-support-and-visualize-performa
- https://blog.jetbrains.com/dotnet/2017/11/22/analyzing-performance-asynchronous-net-code-dottrace/
- https://github.com/jvm-profiling-tools/async-profiler
- https://stackify.com/csharp-async-await-task-performance/
- https://www.jetbrains.com/help/profiler/Analyzing_Async_Calls.html
- https://github.com/ConradIrwin/async-profile
- https://i-rant.arnaudbos.com/loom-part-3-async/
- https://stackify.com/when-to-use-asynchronous-programming/ // probably more relevant for Satya’s project
- https://docs.microsoft.com/en-us/dotnet/csharp/async // info about async/await in C#
- https://developer.mozilla.org/en-US/docs/Tools/Performance/Flame_Chart
- https://github.com/sumerc/yappi
- https://www.jetbrains.com/help/rider/Profiling_Applications.html