Quellcode durchsuchen

ncd: NCDVal: micro-optimization

ambrop7 vor 13 Jahren
Ursprung
Commit
abb72ca330
1 geänderte Dateien mit 6 neuen und 6 gelöschten Zeilen
  1. 6 6
      ncd/NCDVal.c

+ 6 - 6
ncd/NCDVal.c

@@ -1098,9 +1098,9 @@ int NCDVal_ListRead (NCDValRef list, int num, ...)
     ASSERT(NCDVal_IsList(list))
     ASSERT(NCDVal_IsList(list))
     ASSERT(num >= 0)
     ASSERT(num >= 0)
     
     
-    size_t count = NCDVal_ListCount(list);
+    struct NCDVal__list *list_e = NCDValMem__BufAt(list.mem, list.idx);
     
     
-    if (num != count) {
+    if (num != list_e->count) {
         return 0;
         return 0;
     }
     }
     
     
@@ -1109,7 +1109,7 @@ int NCDVal_ListRead (NCDValRef list, int num, ...)
     
     
     for (int i = 0; i < num; i++) {
     for (int i = 0; i < num; i++) {
         NCDValRef *dest = va_arg(ap, NCDValRef *);
         NCDValRef *dest = va_arg(ap, NCDValRef *);
-        *dest = NCDVal_ListGet(list, i);
+        *dest = NCDVal__Ref(list.mem, list_e->elem_indices[i]);
     }
     }
     
     
     va_end(ap);
     va_end(ap);
@@ -1122,9 +1122,9 @@ int NCDVal_ListReadHead (NCDValRef list, int num, ...)
     ASSERT(NCDVal_IsList(list))
     ASSERT(NCDVal_IsList(list))
     ASSERT(num >= 0)
     ASSERT(num >= 0)
     
     
-    size_t count = NCDVal_ListCount(list);
+    struct NCDVal__list *list_e = NCDValMem__BufAt(list.mem, list.idx);
     
     
-    if (num > count) {
+    if (num > list_e->count) {
         return 0;
         return 0;
     }
     }
     
     
@@ -1133,7 +1133,7 @@ int NCDVal_ListReadHead (NCDValRef list, int num, ...)
     
     
     for (int i = 0; i < num; i++) {
     for (int i = 0; i < num; i++) {
         NCDValRef *dest = va_arg(ap, NCDValRef *);
         NCDValRef *dest = va_arg(ap, NCDValRef *);
-        *dest = NCDVal_ListGet(list, i);
+        *dest = NCDVal__Ref(list.mem, list_e->elem_indices[i]);
     }
     }
     
     
     va_end(ap);
     va_end(ap);