Skip to content

QuisApp/flutter_contacts_benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmark Results

Performance comparison of Flutter contact libraries across iOS and Android, tested with ~2,000 contacts on real devices.

The Bottom Line

Metric V2 vs V1 (iOS) V2 vs V1 (Android)
Read Speed 1.6–7x faster 2–5x faster
Bulk Create 4x faster 5x faster
Bulk Delete 34x faster 140x faster

Speed Comparison

iOS Performance (2,000 contacts)

                       Minimal fetch: ID + display name
                       ◀───── faster         slower ─────▶

flutter_contacts v2    █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  117 ms
fast_contacts          ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  127 ms
contacts_service_plus  ████████████████████░░░░░░░░░░░░░░░  462 ms
flutter_contacts v1    ███████████████████████████████████  803 ms

Android Performance (2,000 contacts)

                       Minimal fetch: ID + display name
                       ◀───── faster         slower ─────▶

fast_contacts          ██████████░░░░░░░░░░░░░░░░░░░░░░░░░  304 ms
flutter_contacts v2    ██████████████░░░░░░░░░░░░░░░░░░░░░  424 ms
contacts_service_plus  ██████████████████████░░░░░░░░░░░░░  668 ms
flutter_contacts v1    ███████████████████████████████████ 1075 ms

V1 → V2 Upgrade: Speed Gains by Test Case

The new architecture in V2 delivers consistent performance improvements across all use cases:

iOS Speedup

Test Case V1 V2 Speedup
Minimal (ID + display name) 803 ms 117 ms 6.9x
Phones only 1,181 ms 188 ms 6.3x
Basic info (name, phone, email, org) 1,178 ms 298 ms 4.0x
With thumbnail 1,218 ms 168 ms 7.3x
All info + thumbnail 1,207 ms 750 ms 1.6x
All info + full-res photo 1,218 ms 781 ms 1.6x

Android Speedup

Test Case V1 V2 Speedup
Minimal (ID + display name) 1,075 ms 424 ms 2.5x
Phones only 2,833 ms 556 ms 5.1x
Basic info (name, phone, email, org) 2,823 ms 731 ms 3.9x
With thumbnail 2,916 ms 554 ms 5.3x
All info + thumbnail 3,051 ms 987 ms 3.1x
All info + full-res photo 4,381 ms 1,864 ms 2.4x

Bulk Operations

Creating and deleting 100 contacts:

iOS

                       Create 100 contacts (ms)            Delete 100 contacts (ms)
                       ◀── faster     slower ──▶           ◀── faster     slower ──▶

flutter_contacts v2    ██████░░░░░░░░░░░░░░░░░░░   340     █░░░░░░░░░░░░░░░░░░░░░░░░   101
contacts_service_plus  █████████████████████████  1435     ██████████████████████░░░  3090
flutter_contacts v1    █████████████████████████  1438     █████████████████████████  3454

Android

                       Create 100 contacts (ms)            Delete 100 contacts (ms)
                       ◀── faster     slower ──▶           ◀── faster     slower ──▶

flutter_contacts v2    █████░░░░░░░░░░░░░░░░░░░░   548     █░░░░░░░░░░░░░░░░░░░░░░░░    37
flutter_contacts v1    █████████████████████████  2572     █████████████████████████  5162

Feature Comparison

Not all contact libraries are created equal. Here's what each one offers:

Feature V2 V1 fast_contacts contacts_service_plus
Read contacts
Create/Update/Delete
Bulk operations
Selective field loading
Thumbnail photos
Full-res photos
Contact groups
Accounts
Change notifications
vCard import/export
Sorted results
Contact filtering
SIM contacts
Blocked numbers
Profile (owner)
Ringtones
iOS & Android
macOS

Choosing a Library

V2 is the recommended choice for most apps — it's fast, feature-complete, and actively maintained.

fast_contacts is a lightweight read-only alternative. Use it only if you need nothing beyond displaying names and phone numbers (no photos, no sorting, no write operations).

contacts_service_plus is a fork of the abandoned contacts_service. V2 is faster (21% on iOS, 59% on Android), has more features, and is actively maintained.


Benchmark Methodology

Test Environment

  • iOS: iPhone 7, ~2,000 contacts
  • Android: Pixel 6, ~2,000 contacts
  • Runs: 5 iterations per test case, results averaged

Libraries Tested

  • flutter_contacts v2.x (latest)
  • flutter_contacts v1.1.9+2 (previous major version)
  • fast_contacts v3.1.3
  • contacts_service_plus v1.0.6

Test Cases

  1. Minimal — ID and display name only
  2. Phones — ID, display name, phone numbers
  3. Basic Info — Name, phone, email, organization
  4. Thumbnail — Minimal + thumbnail photo
  5. Basic + Thumbnail — Basic info + thumbnail
  6. Basic + Full-Res — Basic info + full resolution photo
  7. All + Thumbnail — All properties + thumbnail
  8. All + Full-Res — All properties + full resolution photo
  9. Bulk CRUD — Create and delete 100 contacts

Raw Data

For detailed analysis, see:


Summary

V2 is the clear winner for Flutter contact management:

vs V1 vs contacts_service_plus vs fast_contacts
3x faster reads Always faster Comparable speed
5x faster creates More features Far more features
100x faster deletes Active maintenance Full CRUD support

Upgrade to V2 today for the best performance and the most complete feature set available in any Flutter contacts library.

About

Benchmark for flutter_contacts plugin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published