如何为100个元素的数组保存坐标/ AXIS(x; y)?

时间:2017-10-29 17:35:54

标签: ios arrays json swift optimization

  1. 有一个JSON方法。 (我们发送POST - >获得100多个元素)
  2. 我们需要通过图片的X和Y面部坐标保存这100多个元素。
  3. 在不同的情况下 - 我们需要处理每个坐标(例如眉毛只有3-4个点)。它应该存储在Integer中(计算它......)。

    struct JsonFaceApi {
        let mouth_upper_lip_left_contour2: Integer
        let mouth_upper_lip_top: Integer
        let mouth_upper_lip_left_contour1: Integer
        let left_eye_upper_left_quarter: Integer
        let left_eyebrow_lower_middle: Integer
        let mouth_upper_lip_left_contour3: Integer
        let left_eyebrow_lower_left_quarter: Integer
        let right_eyebrow_lower_left_quarter: Integer
        let right_eye_pupil: Integer
        let mouth_lower_lip_right_contour1: Integer
        let mouth_lower_lip_left_contour2: Integer
        let mouth_lower_lip_right_contour3: Integer
        let mouth_lower_lip_right_contour2: Integer
        let contour_chin: Integer
        let contour_left9: Integer...
    
  4. 问题是: 如何优化存储的数据? E.A. :创建let mouth_upper_lip_left_contour2_x: Integerlet mouth_upper_lip_left_contour2_y: Integer? 或者当然我们也可以为每个元素或X数组和Y数组创建let mouth_upper_lip_left_contour2[]: array?每个意见都表示赞赏! )

1 个答案:

答案 0 :(得分:0)

enter image description here

Int16:2个字节 Int32和int:4个字节 Int64:8个字节 所以Int = Int 32默认情况下,例如,如果您使用100 x 2(对于X和Y轴)x 32(字节)= 6400字节。

但是如果你正在使用Int的数组,你会浪费大量的内存来进行地址攻击(系统指针,计数器等等)。

但从速度和编码时间的角度来看 - 数组对我来说更有用。至少我们不会根据变量的内存/代码读取逐行默认处理器的命令(当它被解码为汇编程序/机器代码时)。 所以至少使用数组应该更方便。

P.S:所有仇恨/非指定PC用户的全部空间<​​/ p>