Tags:

คือตอนนี้ผมได้เขียนแอพเก็บค่า temp ชุดนึง แต่ส่งไปเก็บที่table temp บน mysql เลย ซึ่งบางครั้งรู้สึกว่าหน่วงๆครับ เลยจะลองเก็บไว้ที่ array บน obj-c อย่างเดียวดูเผื่อจะลื่นขึ้น แต่ต้องแก้โค๊ดค่อนข้างเยอะ เลยอยากรู้ว่ามีวิธีวัดเทียบกันไหมครับบน xcode

ขอบคุณครับ

Get latest news from Blognone
By: lancaster
Contributor
on 16 December 2013 - 01:30 #665194

วิธีมีมั้ยไม่รู้ แต่ระหว่าง ram กับ mysql (ต่อให้ใช้ memory engine ก็เถอะ)

ยังไง ram ก็เร็วกว่ามหาศาลลลลลลลลลลลลลลลลลลลครับ

By: naiaong
iPhone
on 16 December 2013 - 07:13 #665204

ตรง Menu ครับ
Xcode=>Open Tools Developer=>Instruments

เรื่อง Performance
ถ้ารูปจะเก็บเป็น cache image cache แบบ URL ครับ
Object array จะเก็บใน Ram

temp ผมไม่แน่นใจว่าคุณเก็บอะไรนะครับเลยสามารถบอกตรงๆได้ครับ
เรื่อง Performance มันต้องดูทั้งการเขียน code processและแสดงผล
ถ้าผมรู้ว่า หน้าจอแสดงอะไรรูปแบบอะไร ถ้าส่งข้อมูลกันช้าระหว่าง iPhone server ส่งแบบไหน
มันมีวิธีแก้อยู่ครับ

โชคดีครับผม Happy coding

By: addib2010
iPhoneAndroid
on 16 December 2013 - 10:37 #665217

database MySQL นี่คือเก็บข้อมูลผ่านเซิฟเวอร์หรือเปล่าครับ ถ้าใช่ก็น่าจะหน่วงตรงนี้แหละครับ

By: lithian on 16 December 2013 - 11:09 #665223

ใช่ครับ

mysql ผมลองเทสกับทั้งบน server ที่อยู่ในออฟฟิส และบน hosting ก็หน่วงๆ (แต่เป็นบางครั้ง) เหมือนกันเลยครับ

ส่วน Instruments เคยลองเข้าไปแล้วเจอแต่ของ cpu/ram เด่วจะลองไล่หาส่วนของ url ดูนะครับ

ขอบคุณมากครับ

By: addib2010
iPhoneAndroid
on 16 December 2013 - 11:59 #665230

ค่าเก็บเป็นแค่ Temp หรือ Cache เก็บที่ Memory ดีกว่าครับ แต่ถ้าเก็บค่าไว้ใช้หลายๆ ครั้ง ลองใช้เป็น SQLite Database เก็บที่ตัว Client ก็ได้ครับ

By: lithian on 16 December 2013 - 12:31 #665231 Reply to:665230

ลืมนึกถึง SQLite Database ไปเลยครับ (จริงๆ ค่าบางอย่างตอนนี้ผมก็เก็บไว้ใน SQLite Database อยู่แล้วด้วย)

ความเร็วของ SQLite Database น่าจะอยุ่ระหว่าง ram กับ mysql รึป่าวครับ (เร็วสุด Ram > SQLite Database > MySQL)

ขอบคุณครับ

By: addib2010
iPhoneAndroid
on 16 December 2013 - 16:09 #665277 Reply to:665231

ใช่ครับ

By: PandaBaka
iPhoneAndroidWindows
on 17 December 2013 - 00:03 #665366
PandaBaka's picture

ถ้าเผื่อ update ผ่าน server ด้วยแนะนำให้ปล่อยจาก server เป็น json ยัดใส่ xcode เลยน่าจะดีกว่า

ส่วน Object C จริงๆ แล้วมันไม่จำเป็นต้องเอาไปยัดใน SQLite ก็ได้ครับ
จะใช้วิธีหักดิบเอา NSPredicate ไปหาใน array ตรงๆ เลยก็ได้ speed เท่ากัน
และถ้าเผื่อโครงสร้างฐานข้อมูลเปลี่ยนบ่อยด้วยแนะนำให้โยน SQLite ทิ้งไปเลย เพราะ เปลี่ยนโครงสร้างที App ที่ update มันจะ error แนะนำให้เอามาใส่พวก Archiver แทน

ปล.ถ้าข้อมูลเกิน 30000 record แนะนำให้ทำ sectionIndex array ด้วยครับ ไม่งั้นอืด

By: naiaong
iPhone
on 17 December 2013 - 08:27 #665411

ผมไม่แน่นใจว่าหน่วงแบบไหนนะครับ เพราะถ้าเขียนแบบ asynchronous
iOS เดี๋ยวนี้เขียนแบบนี้ง่ายนะครับ
การโหลดข้อมูลระหว่างผมใช้ asynchronous หมดแหละครับ ยกเว้น เช่นข้อมูลการขาย
ถ้าเขียนแบบนี้รับรองว่าไม่มีหน่วงเพราะไม่ต้องรอ ถ้าเขียนแบบ synchronous ถ้าหน่วงเป็นธรรมดาครับ

เรื่อง Server Client ต้องดูว่า ช้าที่ server หรือ client ด้วยครับ
ถ้า server เร็ว ปกติจะเร็วถ้ามันไม่ไปช้าพวก process บน server (Fake ข้อมูลชักชุดแล้วส่งกลับเลยครับ ไม่ต้องผ่าน mysql) ก็มาดู Serializing บน iPhone นะครับว่ามันช้าหรือเปล่าว
https://github.com/johnezang/JSONKit

การค้นหาก็เหมือนข้างบนครับ NSPredicate จาก Array
ระวังนิดหนึ่งนะครับ ถ้าใช้ loop ก็อย่าใช้ NSPredicate ถ้าเอา
for loop
{
NSPredicate
} ช้าครับ

ลองดูตัวนี้นะครับไม่ยากครับ
https://www.newrelic.com

โชคดีครับ