Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by ikeo · Jul 28, 2011 at 05:59 PM · iosspeedmonosqlite

Are there any tips for speeding up SQLite through Unity on iOS

I have a SQLite database that's approximately 50mb (~23000 items) in size which I am using to store mesh data to be loaded into my Unity project. An UPDATE on that data when debugging through Unity on my mac takes approx. 1.5 sec. Running the same code on the device takes approx. 10 sec. Does anyone know of any particular reason why the same code would act so drastically different on the two platforms? Is it a mono thing? A device thing?

Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Graham-Dunnett ♦♦ · Jul 28, 2011 at 08:21 PM 1
Share

Aren't you comparing the performance of a low-power mobile CPU against a desktop or laptop CPU with multiple cores, a large cache that has had 30 years of development effort to make it crunch through data?

avatar image ikeo · Jul 28, 2011 at 09:09 PM 0
Share

Yes. That's exactly what I'm comparing. And I suppose a SQLite expert could tell me that it's just the speed of the device. Or a $$anonymous$$ono expert could tell me that this is a known issue with $$anonymous$$ono on the iPhone. There are all sorts of apps out there that crunch SQLite data very quickly and it's one of apple's preferred ways to store data, so I would assume that for a relatively small select statement (in the grand scheme of things) performance should be better than what I'm getting.

avatar image Dreamora · Jul 29, 2011 at 10:13 AM 0
Share

They are using CoreData, not SQLite directly. Thats a day - night difference as apple opted CoreData to be invisible, smart and opted for the small to inexistent cashes that the mobile cpus have. Thats why you can crunch through programs with 200+ element listviews with detailed views behind it with images and movies etc all invisible with 20lines of code in Core Data at high performance and why the same in pure sqlite is gonna stutter like hell in basically any application.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by ikeo · Aug 18, 2011 at 02:32 AM

I ended up figuring this out. I had forgotten to index my databases. I was also using Guids as my primary keys in several tables. After switching my primary keys to ints and indexing the databases, performance is about what I'd expect. The database can do lookups on 100k elements in under a second. That's fine for my purposes. This wasn't a unity or iOS problem, just a stupid programmer problem :)

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

sqlite plugin anomalies on ios 0 Answers

PtrToStructure with array fields on iOS (ie AOT only mode) 0 Answers

Mono.Data.Sqlite vs. System.Data.SQLite 2 Answers

How to calculate swipe speed on iOS 2 Answers

NotSupportedException while Xcode Building 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges