Ошибка MySQL: не могу получить имя хоста с вашего IP-адреса

Я использую свою удаленную базу данных MySQL в течение длительного времени.

Но сегодня я внезапно обнаружил, что не могу подключиться к базе данных. У меня ошибка.

«Не могу получить имя хоста с вашего IP-адреса».

Я не Этот класс содержит указатель float * на необработанный массив с плавающей запятой. Этот массив выделяется динамически с помощью стандартной функции malloc (). Теперь мне нужно ...

В моем проекте я реализовал базовый класс CVector. Этот класс содержит указатель float * на необработанный массив с плавающей запятой. Этот массив выделяется динамически с помощью стандартной функции malloc ().

Теперь мне нужно ускорить некоторые вычисления с использованием таких векторов. К сожалению, поскольку память не выделяется с помощью _mm_malloc (), она не выравнивается.

Насколько я понимаю, у меня есть два варианта:

1) Переписать код, который выделяет память для использования _mm_malloc () и, например, использовать такой код, как это:

void sub(float* v1, float* v2, float* v3, int size) 
{  
    __m128* p_v1 = (__m128*)v1;  
    __m128* p_v2 = (__m128*)v2;  
    __m128 res;

    for(int i = 0; i < size/4; ++i)  
    {  
        res = _mm_sub_ps(*p_v1,*p_v2);  
        _mm_store_ps(v3,res);  
        ++p_v1;  
        ++p_v2;  
        v3 += 4;  
    }
}

2) Второй вариант - использовать инструкцию _mm_loadu_ps () для загрузки __m128 из невыровненной памяти, а затем использовать ее для вычислений.

void sub(float* v1, float* v2, float* v3, int size)
{  
    __m128 p_v1;  
    __m128 p_v2;  
    __m128 res;

    for(int i = 0; i < size/4; ++i)  
    {  
        p_v1 = _mm_loadu_ps(v1);   
        p_v2 = _mm_loadu_ps(v2);  
        res = _mm_sub_ps(p_v1,p_v2);    
        _mm_store_ps(v3,res);  
        v1 += 4;  
        v2 += 4;  
        v3 += 4;  
    }
}

Итак, мой вопрос: какой вариант будет лучше или быстрее?

8
задан Jon Cage 25 February 2011 в 14:19
поделиться