Вопрос по macos, cocoa, objective-c – Процессор поднимается с атрибутамиOfItemAtPath: ошибка:

2

я использую[NSFileManager attributesOfItemAtPath:error:] функция для извлечения атрибутов файла. Но иногда мой процессор приложений достигает 100%. Я использую эту функцию для 100k (приблиз.) Файлов.
Образец моей заявки:

                                2128 -[NSFileManager attributesOfItemAtPath:error:]
                                  2128 +[NSFileAttributes _attributesAtPath:partialReturn:filterResourceFork:error:]
                                    2123 _attributesAtPath
                                      2072 listxattr
                                      29 realloc
                                        18 realloc
                                        11 szone_size
                                      22 _attributesAtPath
                                    5 _sysenter_trap  

Кто-нибудь может помочь мне?

Ваш Ответ

2   ответа
3

stat.

#import <sys/stat.h>

struct stat stat1;
if( stat([inFilePath fileSystemRepresentation], &stat1) )
      // something is wrong 
long long size = stat1.st_size;
printf("Size: %lld\n", stat1.st_size);
1
SYSENTER is a companion instruction to SYSEXIT. The trap is a subset of a thread’s complete context. So, the trap frame keeps information about the current thread context so it could restore it with SYSEXIT instruction.

Sysenter_traps.

It seems that you are overloading your main thread. Thats why Cpu is on 100%

поэтому рамка-ловушка сохраняет мое основное состояние потока. я должен запустить эту функцию на вторичном потоке? Parag Bafna
да ... это лучшее, что вы можете сделать (и попытаться отделить ваши файлы размером 100 КБ в пакете ... если отправлено 100 файлов ... отправить еще 100 файлов ... это уменьшит использование ресурсов устройства)

Похожие вопросы