Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Attabench

Attabench

MITSwiftv2.0.0

A macOS microbenchmarking app for Swift that measures and visualizes algorithm performance with real-time log-log plots.

GitHubGitHub
1.3k stars45 forks0 contributors

What is Attabench?

Attabench is a macOS microbenchmarking application specifically designed for Swift developers to measure and visualize the performance of low-level algorithms. It runs operations on random data across varying sizes and displays results in real-time using log-log plots, helping identify performance characteristics like time complexity and caching effects. The tool was originally created to generate charts for presentations and a book on optimizing Swift collections.

Target Audience

Swift developers and performance engineers working on macOS who need to analyze and optimize algorithm performance, particularly for collection types or low-level operations. It's especially useful for those writing books, giving talks, or conducting deep dives into algorithmic behavior.

Value Proposition

Attabench offers a unique combination of real-time visualization with log-log plots, interactive benchmarking controls, and easy chart export, all tailored for Swift on macOS. Unlike generic benchmarking tools, it provides immediate visual feedback that reveals subtle performance nuances, such as cache line aliasing or memory access patterns, making it ideal for educational and optimization purposes.

Overview

Microbenchmarking app for Swift with nice log-log plots

Use Cases

Best For

  • Analyzing time complexity of Swift algorithms with log-log plots
  • Generating performance charts for presentations or technical books
  • Comparing performance of different collection types (e.g., Array vs Set)
  • Investigating caching effects and memory access patterns in Swift code
  • Microbenchmarking low-level operations with customizable input sizes
  • Visualizing algorithmic performance changes across varying data scales

Not Ideal For

  • Cross-platform development teams needing benchmarks on Linux or Windows
  • Projects requiring a maintained and actively supported benchmarking solution
  • Automated CI/CD pipelines that rely on headless or scriptable benchmarking tools

Pros & Cons

Pros

Real-Time Log-Log Visualization

Provides immediate insight into algorithm complexity with logarithmic scales on both axes, making it easy to spot performance characteristics like O(n) vs O(log n) behavior, as highlighted in the background and usage sections.

Custom Benchmark Definitions

Allows developers to define their own tasks in Swift with input generators and task-specific measurements, as detailed in the 'Create Your Own Benchmarks' section with examples like Array.contains and Set.contains.

Interactive Performance Exploration

Enables dynamic task management, real-time chart updates, and flexible measurement controls, letting users filter tasks and adjust parameters on the fly without restarting benchmarks.

Rich Chart Export Options

Supports dragging charts directly to Finder or using the included attachart command-line tool for PNG generation, ideal for documentation or presentations, as mentioned in the 'Get Chart Images Out of Attabench' section.

Cons

Outdated and Unmaintained

The project has been largely superseded by the Swift Collections Benchmark package and is no longer actively maintained, as warned in the README, making it risky for long-term use.

Complex Setup Process

Requires manual installation of dependencies via Carthage, Xcode 9, and specific build steps, which is cumbersome compared to modern Swift packages that use Swift Package Manager.

Limited to macOS and Swift

Only works on macOS and primarily supports Swift, with minimal documentation for other languages via a custom IPC protocol, restricting its use in cross-platform or multi-language projects.

Frequently Asked Questions

Quick Stats

Stars1,276
Forks45
Contributors0
Open Issues5
Last commit4 years ago
CreatedSince 2017

Tags

#algorithm-visualization#performance-analysis#app#microbenchmarking#swift#xcode#carthage#macos#benchmark#core-graphics

Built With

C
Core Graphics
X
Xcode
C
Carthage
S
Swift

Included in

iOS51.7kOpen Source Apps48.1k
Auto-fetched 8 hours ago

Related Projects

inferinfer

A static analyzer for Java, C, C++, and Objective-C

Stars15,592
Forks2,090
Last commit20 hours ago
R.swiftR.swift

Strong typed, autocompleted resources like images, fonts and segues in Swift projects

Stars9,588
Forks780
Last commit1 year ago
SwiftGenSwiftGen

The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

Stars9,531
Forks763
Last commit13 days ago
WWDCWWDC

The unofficial WWDC app for macOS

Stars8,741
Forks768
Last commit7 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub