firebase / firebase-ios-sdk
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 2,114 files with 221,737 lines of code.
    • 23 very long files (74,105 lines of code)
    • 31 long files (20,885 lines of code)
    • 140 medium size files (42,677 lines of codeclsfd_ftr_w_mp_ins)
    • 249 small files (35,021 lines of code)
    • 1,671 very small files (49,049 lines of code)
33% | 9% | 19% | 15% | 22%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
cc65% | 5% | 12% | 8% | 7%
h36% | 4% | 4% | 12% | 41%
m9% | 14% | 33% | 22% | 20%
py54% | 0% | 3% | 32% | 9%
swift8% | 9% | 27% | 23% | 31%
c0% | 33% | 51% | 7% | 7%
proto0% | 18% | 35% | 19% | 26%
rb0% | 70% | 0% | 15% | 13%
mm0% | 11% | 29% | 27% | 31%
cmake0% | 0% | 36% | 13% | 49%
js0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
sed0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Firestore55% | 6% | 11% | 11% | 15%
scripts51% | 8% | 4% | 22% | 13%
FirebaseAuth22% | 18% | 4% | 13% | 40%
FirebaseDatabase12% | 16% | 31% | 15% | 24%
ROOT100% | 0% | 0% | 0% | 0%
FirebaseRemoteConfig28% | 0% | 43% | 12% | 15%
FirebaseMessaging0% | 25% | 24% | 27% | 23%
Crashlytics0% | 9% | 44% | 20% | 25%
FirebaseDynamicLinks0% | 39% | 18% | 18% | 24%
FirebaseMLModelDownloader0% | 37% | 34% | 18% | 9%
FirebaseInAppMessaging0% | 8% | 29% | 36% | 25%
FirebaseCore0% | 30% | 17% | 11% | 39%
FirebasePerformance0% | 6% | 45% | 16% | 30%
ReleaseTooling0% | 0% | 47% | 36% | 16%
FirebaseInstallations0% | 0% | 41% | 26% | 32%
FirebaseStorage0% | 0% | 28% | 31% | 39%
FirebaseAppCheck0% | 0% | 19% | 25% | 54%
FirebaseAppDistribution0% | 0% | 49% | 18% | 32%
FirebaseABTesting0% | 0% | 60% | 14% | 25%
Firebase0% | 0% | 42% | 36% | 20%
cmake0% | 0% | 36% | 13% | 50%
FirebaseFunctions0% | 0% | 26% | 29% | 44%
FirebaseCombineSwift0% | 0% | 24% | 29% | 45%
GoogleUtilitiesComponents0% | 0% | 0% | 43% | 56%
SwiftPMTests0% | 0% | 0% | 48% | 51%
Example0% | 0% | 0% | 0% | 100%
SharedTestUtilities0% | 0% | 0% | 0% | 100%
FirebaseTestingSupport0% | 0% | 0% | 0% | 100%
FirebaseStorageSwift0% | 0% | 0% | 0% | 100%
Interop0% | 0% | 0% | 0% | 100%
FirebaseFunctionsSwift0% | 0% | 0% | 0% | 100%
FirebaseRemoteConfigSwift0% | 0% | 0% | 0% | 100%
FirebaseDatabaseSwift0% | 0% | 0% | 0% | 100%
SwiftPM-PlatformExclude0% | 0% | 0% | 0% | 100%
CoreOnly0% | 0% | 0% | 0% | 100%
SymbolCollisionTest0% | 0% | 0% | 0% | 100%
FirebaseAnalyticsSwift0% | 0% | 0% | 0% | 100%
CocoapodsIntegrationTest0% | 0% | 0% | 0% | 100%
GoogleDataTransport0% | 0% | 0% | 0% | 100%
FirebaseSharedSwift0% | 0% | 0% | 0% | 100%
FirebaseAnalyticsWrapper0% | 0% | 0% | 0% | 100%
FirebaseAnalyticsWithoutAdIdSupportWrapper0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
grpc_root_certificates_generated.cc
in Firestore/core/src/remote
23703 -
firestore.pb.h
in Firestore/Protos/cpp/google/firestore/v1
8313 649
firestore.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
8056 400
cpplint.py
in scripts
3460 177
query.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2673 177
write.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2663 192
query.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2655 142
write.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2551 127
FIRAuth.m
in FirebaseAuth/Sources/Auth
1781 -
http.pb.h
in Firestore/Protos/cpp/google/api
1729 119
bundle.pb.h
in Firestore/Protos/cpp/firestore
1639 129
bundle.pb.cc
in Firestore/Protos/cpp/firestore
1631 78
document.pb.h
in Firestore/Protos/cpp/google/firestore/v1
1619 120
document.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1495 66
FIRUser.m
in FirebaseAuth/Sources/User
1264 3
common.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1209 74
FRepo.m
in FirebaseDatabase/Sources/Core
1205 -
FPersistentConnection.m
in FirebaseDatabase/Sources/Core
1128 1
Package.swift
in root
1126 -
serializer.cc
in Firestore/core/src/remote
1088 56
common.pb.h
in Firestore/Protos/cpp/google/firestore/v1
1051 73
http.pb.cc
in Firestore/Protos/cpp/google/api
1039 47
RCNConfigDBManager.m
in FirebaseRemoteConfig/Sources
1027 2
FIRAuthErrorUtils.m
in FirebaseAuth/Sources/Utilities
956 -
FIRAuthBackend.m
in FirebaseAuth/Sources/Backend
913 -
maybe_document.pb.cc
in Firestore/Protos/cpp/firestore/local
881 46
leveldb_key.cc
in Firestore/core/src/local
844 114
FLevelDBStorageEngine.m
in FirebaseDatabase/Sources/Persistence
828 -
FIRMessaging.m
in FirebaseMessaging/Sources
827 2
maybe_document.pb.h
in Firestore/Protos/cpp/firestore/local
825 54
target.pb.cc
in Firestore/Protos/cpp/firestore/local
792 34
FSyncTree.m
in FirebaseDatabase/Sources/Core
779 -
target.pb.h
in Firestore/Protos/cpp/firestore/local
756 60
FIRCLSDwarfUnwind.c
in Crashlytics/Crashlytics/Unwind/Dwarf
750 34
FViewProcessor.m
in FirebaseDatabase/Sources
712 -
bundle_serializer.cc
in Firestore/core/src/bundle
673 32
proto
firestore.proto
in Firestore/Protos/protos/google/firestore/v1
647 -
FIRIAMDisplayExecutor.m
in FirebaseInAppMessaging/Sources/Flows
642 -
FIRDatabaseQuery.m
in FirebaseDatabase/Sources/Api
637 -
FIRPhoneAuthProvider.m
in FirebaseAuth/Sources/AuthProvider/Phone
629 -
FIRCLSProcess.c
in Crashlytics/Crashlytics/Components
611 20
firebase_ml_log_sdk.pb.swift
in FirebaseMLModelDownloader/Sources/proto
602 21
FIRApp.m
in FirebaseCore/Sources
596 -
FIRDynamicLinks.m
in FirebaseDynamicLinks/Sources
594 -
FIRMessagingTokenManager.m
in FirebaseMessaging/Sources/Token
560 -
FDLURLComponents.m
in FirebaseDynamicLinks/Sources/FDLURLComponents
555 3
ModelInfoRetriever.swift
in FirebaseMLModelDownloader/Sources
546 4
sync_project.rb
in scripts
545 51
FIRMessagingRmqManager.m
in FirebaseMessaging/Sources
541 -
mutation.pb.cc
in Firestore/Protos/cpp/firestore/local
534 29
Files With Most Units (Top 20)
File# lines# units
firestore.pb.h
in Firestore/Protos/cpp/google/firestore/v1
8313 649
firestore.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
8056 400
write.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2663 192
cpplint.py
in scripts
3460 177
query.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2673 177
query.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2655 142
bundle.pb.h
in Firestore/Protos/cpp/firestore
1639 129
write.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2551 127
document.pb.h
in Firestore/Protos/cpp/google/firestore/v1
1619 120
http.pb.h
in Firestore/Protos/cpp/google/api
1729 119
leveldb_key.cc
in Firestore/core/src/local
844 114
bundle.pb.cc
in Firestore/Protos/cpp/firestore
1631 78
common.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1209 74
common.pb.h
in Firestore/Protos/cpp/google/firestore/v1
1051 73
document.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1495 66
target.pb.h
in Firestore/Protos/cpp/firestore/local
756 60
serializer.cc
in Firestore/core/src/remote
1088 56
maybe_document.pb.h
in Firestore/Protos/cpp/firestore/local
825 54
sync_project.rb
in scripts
545 51
http.pb.cc
in Firestore/Protos/cpp/google/api
1039 47
Files With Long Lines (Top 20)

There are 67 files with lines longer than 120 characters. In total, there are 1255 long lines.

File# lines# units# long lines
firestore.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
8056 400 276
firestore.pb.h
in Firestore/Protos/cpp/google/firestore/v1
8313 649 129
query.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2655 142 109
write.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
2551 127 67
query.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2673 177 51
common.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1209 74 46
perf_metric.nanopb.h
in FirebasePerformance/Sources/Protogen/nanopb
444 - 38
bundle.pb.cc
in Firestore/Protos/cpp/firestore
1631 78 37
document.pb.cc
in Firestore/Protos/cpp/google/firestore/v1
1495 66 35
write.pb.h
in Firestore/Protos/cpp/google/firestore/v1
2663 192 34
target.pb.cc
in Firestore/Protos/cpp/firestore/local
792 34 32
maybe_document.pb.cc
in Firestore/Protos/cpp/firestore/local
881 46 30
firestore.nanopb.h
in Firestore/Protos/nanopb/google/firestore/v1
435 - 24
query.nanopb.h
in Firestore/Protos/nanopb/google/firestore/v1
190 - 23
firebasecore.nanopb.c
in Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb
28 - 21
mutation.pb.cc
in Firestore/Protos/cpp/firestore/local
534 29 21
document.nanopb.cc
in Firestore/Protos/nanopb/google/firestore/v1
175 6 20
document.pb.h
in Firestore/Protos/cpp/google/firestore/v1
1619 120 19
firebasecore.nanopb.h
in Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb
143 - 17
http.pb.cc
in Firestore/Protos/cpp/google/api
1039 47 16