Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cross-Platform Engineering Benchmark

One demanding feed workload implemented in Swift, Kotlin, Dart, and TypeScript. The repository compares engineering trade-offs without pretending that one benchmark can select a platform for every product.

What it measures

Every implementation performs the same work:

  1. Decode 1,200 feed records and 360 incremental updates.
  2. Resolve duplicates by version.
  3. Apply updates and tombstones.
  4. Sort by update time with a stable tie-breaker.
  5. Filter and paginate the result.
  6. Exercise an LRU image cache under a fixed byte budget.
  7. Produce the same deterministic checksum.

The benchmark reports latency, result size, page count, cache behavior, and checksum. Runtime numbers are useful only when collected on the same machine and build mode.

Repository map

implementations/
  ios-swift/                 Swift 6 core and SwiftUI adapter
  android-kotlin/            Kotlin/JVM core and Compose adapter
  flutter-dart/              Dart core and Flutter adapter
  react-native-typescript/   TypeScript core and React Native adapter
backend/                     Dependency-free reference API
benchmark/                   Cross-platform runner and report generator
shared/                      Contract, fixture, scenarios, diagrams
docs/                        Method and decision framework

Run everything

./scripts/verify.sh

Run the comparative benchmark:

python3 benchmark/runner.py

Run the live API scenario:

./scripts/e2e.sh

If Dart is not installed, local verification skips Dart and reports it clearly. GitHub Actions installs Dart and verifies all four implementations.

Architectural point

The same domain rules are intentionally implemented with native language idioms. Shared code is limited to contracts and fixtures. This exposes the real differences in concurrency, type systems, tooling, build pipelines, native integration, and operational cost.

See the decision framework for when each platform is a reasonable default and when it is not.

Results

Generated output is written to benchmark/results/latest.json and benchmark/results/latest.md. Do not compare debug builds with release builds or measurements from different devices.

License

MIT

About

One demanding product implemented in native iOS, native Android, Flutter, and React Native—with reproducible measurements.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages