hand-to-hand-optimize-go - a simple tutorial for optimizing go program by some useful tools

  •        3

Make sure you have imported the net/http/pprof at the top of the code. all of them are aiming to simulate the reality.

https://github.com/caibirdme/hand-to-hand-optimize-go

Tags
Implementation
License
Platform

   




Related Projects

diagram - CLI app to convert ascii arts into hand drawn diagrams.

  •    Go

Diagram is a CLI tool to generate hand drawn diagrams from ASCII arts. It's a full featured CLI application which converts the ASCII text into hand drawn diagrams. The CLI part is based on gocui and the ascii to png conversion is done using the gg library.

go-torch - Stochastic flame graph profiler for Go programs

  •    Go

Tool for stochastically profiling Go programs. Collects stack traces and synthesizes them into a flame graph. Uses Go's built in pprof library.go-torch will pass through arguments to go tool pprof, which lets you take existing pprof commands and easily make them work with go-torch.

pixel - A hand-crafted 2D game library in Go

  •    Go

A hand-crafted 2D game library in Go. Take a look into the features to see what it can do.See requirements for the list of libraries necessary for compilation.

pprof - pprof is a tool for visualization and analysis of profiling data

  •    Go

pprof is a tool for visualization and analysis of profiling data.pprof reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate both text and graphical reports (through the use of the dot visualization package).

appjs-deskshell - SDK to build desktop apps using HTML5/CSS/JS for frontend and server script for backend

  •    NSIS

Deskshell is a SDK that provides a shell (as in egg shell) around web applications so that they can run on the desktop. It gives you a modern HTML5 / CSS / JS frontend for your user interface, but then allows full backend functionality written in popular server scripting languages that anyone can pick up like node or php (more choices coming soon). This makes it possible to read and write directly to disk, access databases, communicate with servers and solve the task at hand. We are a very diverse community that welcomes people who have english as a second language. We are open and welcoming to new people both experienced super hackers and newbies alike. We would love this project to be your first accepted commit to an open source project. There are also many things that are not strictly coding that you can do, maybe you can write an example app, improve our documentation, answer questions on the forums or write a tutorial. Mostly just have fun making apps and when you see something that could be better have a go at improving it and then share it with the community.


wired-elements - Collection of elements that appear hand drawn. Great for wireframes.

  •    Javascript

Wired Elements is a series of basic UI Elements that have a hand drawn look. These can be used for wireframes, mockups, or just the fun hand-drawn look. The elements are drawn with enough randomness that no two renderings will be exactly the same - just like two separate hand drawn shapes.

swagger2markup - A Swagger to AsciiDoc or Markdown converter to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation

  •    Java

The primary goal of this project is to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation produced by Swagger. The result is intended to be an up-to-date, easy-to-read, on- and offline user guide, comparable to GitHub’s API documentation. The output of Swagger2Markup can be used as an alternative to swagger-ui and can be served as static content. NOTE: The Swagger Specification has been donated to to the Open API Initiative (OAI) and has been renamed to the OpenAPI Specification. Swagger2Markup converts a Swagger JSON or YAML file into several AsciiDoc or GitHub Flavored Markdown documents which can be combined with hand-written documentation. The Swagger source file can be located locally or remotely via HTTP. Swagger2Markup supports the Swagger 1.2 and 2.0 specification. Internally it uses the official swagger-parser and my markup-document-builder.

c-for-go - Automatic C-Go Bindings Generator for Go Programming Language

  •    Go

This project allows to reuse existing C/C++ libraries in your Go applications, by automatically creating c-go bindings for a given set of C headers and the manifest file. We believe in component-based software engineering and think that reusing C/C++ code in Go applications could bring a huge boost to developer's productivity and system's performance. Read more about the motivation: top reasons to use bindings. The only component required to produce a Go package that will wrap the source C/C++ code is the YAML manifest file that defines parsing, translation and generation rules. The manifest can have just a few lines, however in order to match Go's naming conventions and provide enough tips for type conversions it usually contains about 100 lines, which is still better than producing tens of thousands lines of Go code by hand.

flaskr-tdd - Flaskr: Intro to Flask, Test Driven Development (TDD), and jQuery

  •    Python

As many of you know, Flaskr - a mini-blog-like-app - is the app you build for the official tutorial for Flask, the awesome, Python-based micro web framework. I've gone through the tutorial more times than I care to admit. Anyway, I wanted to take the tutorial a step further by adding test driven development and a bit of jQuery. This post is that tutorial. Enjoy.Test Driven Development (TDD) is an iterative development cycle that emphasizes writing automated tests before writing the actual feature of function. Put another way, TDD combines building and testing. This process not only helps ensure correctness of the code - but also helps to indirectly evolve the design and architecture of the project at hand.

sketch-code - Keras model to generate HTML code from hand-drawn website mockups

  •    Python

SketchCode is a deep learning model that takes hand-drawn web mockups and converts them into working HTML code. It uses an image captioning architecture to generate its HTML markup from hand-drawn website wireframes. This project builds on the synthetically generated dataset and model architecture from pix2code by Tony Beltramelli and the Design Mockups project from Emil Wallner.

Barrett Hand Motion Control using Ch

  •    

The ChBhand package is a Ch interface to a Barrett Hand robotic manipulator. Utilizing the ChBhand package, users can interactively control a Barrett Hand robotic manipulator on any computer running Ch on a Windows\\\\\\\' platform.

rough - Create graphics with a hand-drawn, sketchy, appearance

  •    Javascript

Rough.js is a light weight (~9kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths. Rough.js works with both Canvas and SVG.

autopprof - Pprof made easy at development time for Go

  •    Go

Pprof made easy at development time. Add autopprof.Capture to your main function.

deep_learning_and_the_game_of_go - Code and other material for the book "Deep Learning and the Game of Go"

  •    Python

This repository is first and foremost a comprehensive machine learning framework for the game of Go, focussing on deep learning techniques. What you'll find here is a library that builds up from the game-play basics to very advanced techniques. In particular, you find code for early approaches in game AI, intermediate techniques using deep learning, to implementations of AlphaGo and AlphaGo Zero - all presented in one common framework. You can install this library with pip and follow the examples in the code folder. On the other hand, this repository at the same time contains Code, and sample chapters for the book "Deep Learning and the Game of Go" (Manning), available for early access here, which ties into the library and teaches its components bit by biy. If you're following the code samples from the book, check out the branches for individual chapters.

counterfeiter - A tool for generating self-contained, type-safe test doubles in go

  •    Go

When writing unit-tests for an object, it is often useful to have fake implementations of the object's collaborators. In go, such fake implementations cannot be generated automatically at runtime, and writing them by hand can be quite arduous. Counterfeiter allows you to simply generate test doubles for a given interface.

phoenix-showdown - :horse_racing: benchmark Sinatra-like web frameworks

  •    Elixir

I was curious about Chris McCord's Phoenix vs Rails article -- if you haven't read it, go do that now first. Go ahead, this will still be here when you get back. It won't make much sense unless you've read the original. Like many other Elixir enthusiasts, I come from a Ruby background. That said, I found Rails to be a curious choice for comparison to Phoenix, since Rails is really a kitchen-sink framework meant to handle everything from database migrations to asset-pipeline compilation. Sinatra, on the other hand, is a more modular, semi-minimal framework that is appears to be pretty close in philosophy to what Phoenix looks like at the moment (at least to me).

WebcamSwiper - An experiment to control a photo carousel using getUserMedia to watch for swipes left and right with a hand

  •    Javascript

An experiment/hack using getUserMedia to watch for swipes left and right with a hand. This could be applied to many different uses. Flipping through pictures in an image carousel, moving to the next item in a list, flipping pages of a book or magazine, etc. Two custom events are added to the body tag by the library. You need to bind callbacks to these events and initialize the library. If desired you can stop the library with the destroy method as well.

ggforce - Accelerating ggplot2

  •    R

ggforce is a package aimed at providing missing functionality to ggplot2 through the extension system introduced with ggplot2 v2.0.0. Broadly speaking ggplot2 has been aimed primarily at explorative data visualization in order to investigate the data at hand, and less at providing utilities for composing custom plots a la D3.js. ggforce is mainly an attempt to address these "shortcoming" (design choices might be a better description). The goal is to provide a repository of geoms, stats, etc. that are as well documented and implemented as the official ones found in ggplot2. The inclusion of any geom, stat, position etc in ggforce is not necessarily a recommendation of their use. ggplot2 has been successful in being opinionated about what functionality should be available. This is good as it insulates the user from making bad decisions when analyzing their data (to a certain degree), but it also makes it difficult to develop novel visualizations using the ggplot2 API. ggforce on the other hand positions itself closer to the "anything goes - the user is responsible for the quality of the output". Be very aware of this responsibility! Bad visualizations lie about, distorts, and obscure the data behind them, both to you and the ones you share your visualizations with.

ruby_identicon - A Ruby gem for creating Github like identicons

  •    Ruby

RubyIdenticon creates an identicon, similar to those created by Github. A title and key are used by siphash to calculate a hash value that is then used to create a visual identicon representation. The identicon is made by creating a left hand side pixel representation of each bit in the hash value - this is then mirrored onto the right hand side to create an image that we see as a shape. The grid and square sizes can be varied to create identicons of differing size.

Third Hand - Use your voice to control Visual Studio

  •    DotNet

Third Hand is a Visual Studio Add-in that allows you to use to your voice to control Visual Studio. Rather than navigate the toolbars or use the menu, say "Solution Explorer", or "Properties" and those windows will open for you. This keeps your hands on the keyboard, hopeful...