Как подсчитать время прохождения цикла?
От: moZilla  
Дата: 12.03.08 13:12
Оценка: :)
Добрый день.
Может спрошу банальную вещь, но все же...
Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.
Вопрос поставил в тупик... видимо уже все основы забыл...
Подскажите, плз.!
*****************
int sum = 0;
for(int i=0; i<2; i++) {
for(int j=0; j<2; j++) {
sum++;
}
}
*****************
Re: Как подсчитать время прохождения цикла?
От: kmet.kr  
Дата: 12.03.08 13:16
Оценка: +2
Здравствуйте, moZilla, Вы писали:

может они хотели услышать, что оптимизатор выкинет циклы...
Re[2]: Как подсчитать время прохождения цикла?
От: moZilla  
Дата: 12.03.08 13:26
Оценка:
Здравствуйте, kmet.kr, Вы писали:

KK>Здравствуйте, moZilla, Вы писали:


KK>может они хотели услышать, что оптимизатор выкинет циклы...


Нет, это точно...
Re: Как подсчитать время прохождения цикла?
От: Blazkowicz Россия  
Дата: 12.03.08 13:30
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.

Z>Вопрос поставил в тупик... видимо уже все основы забыл...
До JIT компиляции или после? В приложении только один активный поток?
Re[2]: Как подсчитать время прохождения цикла?
От: moZilla  
Дата: 12.03.08 13:32
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

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


Z>>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.

Z>>Вопрос поставил в тупик... видимо уже все основы забыл...
B>До JIT компиляции или после? В приложении только один активный поток?

До JIT компиляции, только один поток...
Re: Как подсчитать время прохождения цикла?
От: _Sserg_  
Дата: 12.03.08 14:00
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>Добрый день.

Z>Может спрошу банальную вещь, но все же...
Z>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.
Z>Вопрос поставил в тупик... видимо уже все основы забыл...

вообще вещь нетривиальная — если ОС не real-time, то точного ответа нет. даже если и так Герцы — вещь не предназначенная для точных вычислений времени.
Re[3]: Как подсчитать время прохождения цикла?
От: Blazkowicz Россия  
Дата: 12.03.08 14:01
Оценка:
Здравствуйте, moZilla, Вы писали:

B>>До JIT компиляции или после? В приложении только один активный поток?

Z>До JIT компиляции, только один поток...
Ты все эти вопросы интервьюверу задавал? Как же можно оценить время интерпретации?
Re[4]: Как подсчитать время прохождения цикла?
От: moZilla  
Дата: 12.03.08 14:11
Оценка: :)
Здравствуйте, Blazkowicz, Вы писали:

B>Ты все эти вопросы интервьюверу задавал? Как же можно оценить время интерпретации?


Теперь мне кажется, что они имели в виду следующее:
Раз процессор у нас 1Гц, то одну операцию он выполняет за 10 в -9степени секунд,сл-но на операцию sum++ у него уйдет 2*10-9 секунд и т.д.
Если так, то в одном объявлении цикла лежит как мин. 2 операции...
Вообще-то очень странный вопрос для позиции S.Dev.
Re: Как подсчитать время прохождения цикла?
От: vsb Казахстан  
Дата: 12.03.08 14:12
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.

Z>int sum = 0;
Z>for(int i=0; i<2; i++) {
Z> for(int j=0; j<2; j++) {
Z> sum++;
Z> }
Z>}

Мало времени. Вряд ли можно утверждать ещё что-нибудь. Нормальный оптимизатор превратит это в
int sum = 4;
Re[2]: Как подсчитать время прохождения цикла?
От: Blazkowicz Россия  
Дата: 12.03.08 14:38
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Мало времени. Вряд ли можно утверждать ещё что-нибудь. Нормальный оптимизатор превратит это в

vsb>
vsb>int sum = 4;
vsb>

JIT — может быть. javac таким, вроде, не балуется.
Re: Как подсчитать время прохождения цикла?
От: Георгий  
Дата: 12.03.08 14:47
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.


Ты контору не перепутал? Остальные вопросы были по теме?
Re[2]: Как подсчитать время прохождения цикла?
От: moZilla  
Дата: 12.03.08 14:55
Оценка:
Здравствуйте, Георгий, Вы писали:

Г>Здравствуйте, moZilla, Вы писали:


Z>>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.


Г>Ты контору не перепутал? Остальные вопросы были по теме?


фирма солидная но странных вопросов задавали много...
Re[3]: Как подсчитать время прохождения цикла?
От: Blazkowicz Россия  
Дата: 12.03.08 15:10
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>но странных вопросов задавали много...

Делись.
Re[3]: Как подсчитать время прохождения цикла?
От: vsb Казахстан  
Дата: 12.03.08 17:37
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>JIT — может быть. javac таким, вроде, не балуется.


А разве в стандарте написано, какие оптимизации разрешены? Это я к тому, что javac бывают разные, какой-нибудь IBM J9 или gcj может такое делать.
Re: Как подсчитать время прохождения цикла?
От: dotidot Россия  
Дата: 12.03.08 20:01
Оценка:
Здравствуйте, moZilla, Вы писали:

Z>Недавно на собеседовании спросили сколько времени будет выполняться след. участок кода на процессоре с частотой работы 1Гц.

Z>Вопрос поставил в тупик... видимо уже все основы забыл...
на такие вопросы ИМХО надо отвечать: "Сам дурак.".
От герц то явы столько слоев абстракции с и без оптимизаций из одного слоя в другой, что считать умучаешься.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.