Достижимость иногда перестала работать, даже когда у нас действительно есть интернет-соединение

Я сравниваю скорость Фортрана, C, и C++ со сравнительным тестом классика Levine-Callahan-Dongarra от netlib. Несколько, которые языковая версия, с OpenMP, http://sites.google.com/site/tprincesite/levine-callahan-dongarra-vectors C, более ужасны, когда это началось с автоматического перевода, плюс вставка ограничивают и прагмы для определенных компиляторов. C++ просто C с шаблонами STL когда это применимо. К моему представлению STL является ассортиментом относительно того, улучшает ли это пригодность для обслуживания.

существует только минимальное осуществление автоматического встраивания функции для наблюдения, до какой степени оно улучшает оптимизацию, так как примеры основаны на традиционной практике Фортрана, где мало уверенности является местом на встраивании.

компилятор C/C++, который имеет безусловно самое широко распространенное использование, испытывает недостаток в автовекторизации, на которую эти сравнительные тесты полагаются в большой степени.

Ре сообщение, которое появилось незадолго до этого: существует несколько примеров, где круглые скобки используются в Фортране для диктовки более быстрого или более точного порядка оценки. Известные компиляторы C не имеют опций наблюдать круглые скобки, не отключая более важную оптимизацию.

8
задан stoutyhk 15 August 2009 в 05:24
поделиться

4 ответа

Похоже, вы убрали некоторый базовый код достижимости из примера кода Apple. Что произойдет, если вы оставите его нетронутым и сделаете это?

Reachability *hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];

NetworkStatus netStatus = [hostReach currentReachabilityStatus];

if (netStatus == NotReachable)
{
    NSLog(@"NotReachable");
}

if (netStatus == ReachableViaWiFi)
{
    NSLog(@"ReachableViaWiFi");
}

if (netStatus == ReachableViaWWAN)
{
    NSLog(@"ReachableViaWWAN");
}
7
ответ дан 5 December 2019 в 17:39
поделиться
+ (BOOL) doWeHaveInternetConnection2{
         if([[Reachability sharedReachability] internetConnectionStatus] == NotReachable) {
                   return NO;
          }
          else
          {
                  return YES; 
          }

}

(извините, формат кода не работал в комментарий)

1
ответ дан 5 December 2019 в 17:39
поделиться

В версии 2 код должен быть:

+ (BOOL) doWeHaveInternetConnection2{

if([Reachability reachabilityForInternetConnection] == NotReachable) {
    return NO;
}
else
{
    return YES; 
}

}

1
ответ дан 5 December 2019 в 17:39
поделиться

Я обнаружил, что вы должны знать, из какого потока (runloop) вы в первый раз вызываете startNotifier . Если вы вызываете его из фонового потока или NSOperation , вы запускаете цикл уведомления в цикле выполнения этого потока.

Если вы делитесь экземплярами, возможно, захватывая синглтон, как в [Reachability reachabilityForInternetConnection] , из текущего кода (2.0) видно, что последний вызывающий побеждает и устанавливает для уведомителя свой цикл выполнения.

1
ответ дан 5 December 2019 в 17:39
поделиться