Re[9]: Загрузка процессора 100%
От: 245_Monah  
Дата: 13.03.07 14:10
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, 245_Monah, Вы писали:


B>Нам предоставляется уникальная возможность угадать что же за профайлер ты используешь? В OptimzeIt точно есть. Напротив каждого метода пишется сколько ms ушло на его выполнение. Что там с другими профайлерами, не скажу, не знаю. Но подобная фича должна быть у всех.


Это из серии, ВНИМАНИЕ знатоки, вы играете со мной, угадайте какой у меня профайлер , блин я бы тоже посмеялся, да только непалучается, пользуюсь я баянистым JProfiler ej-Technologies, он тоже мне пишет сколько времени ушло на выполнение метода и т.д. и т.п., так вот, кодер как известно это куча арифметики и соответственно куча циклов, так вот, есть у меня метод, который JProfiler говорит что он нагружает пиз... ну типа времени занимает дофига, а да еще забыл, JProfiler считает общее время с момента старта проги, вот, показываю пример этого метода:

    public long L_mac(long L_var3, int var1, long var2) {
        long L_var_out;
        long L_produit;
        
        L_produit = L_mult(var1,var2);
        L_var_out = L_add(L_var3,L_produit);
        return(L_var_out);
    }


а вот эти два метода которые он использует, ну очень навороченные методы



    public long L_mult(int var1, long var2) {
        long L_var_out;
        
        L_var_out = var1 * var2;
        if (L_var_out != 0x40000000) {
            L_var_out *= 2;
        } else {
            L_var_out = MAX_64;
        }
        
        return(L_var_out);
    }


    public long L_add(long L_var1, long L_var2) {
        long L_var_out;
        
        L_var_out = L_var1 + L_var2;
        
        if (((L_var1 ^ L_var2) & MIN_64) == 0) {
            if (((L_var_out ^ L_var1) & MIN_64)>0) {
                L_var_out = (L_var1 < 0) ? MIN_64 : MAX_64;
                Overflow = true;
            }
        }
        return(L_var_out);
    }


Вобщем я в шоке, еще одна вещь, ставлю отладочные печати по времени, на сам метод Encode в нашем созданном потоке, вот что получается(это фрагментик, что бы лишних вопросов не возникало):

1173793056812
************************
1173793056828
1173793056828
************************
1173793056828
1173793056843
************************
1173793056843
1173793056843
************************
1173793056859
1173793056859
************************
1173793056875
1173793056875
************************
1173793056890


Здесь:
<Время до вызова метода Encode>
************************
<Время после вызова Encode>


Время в милисекундах
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.