Вы еще забыли написать, что верны эти параметры для конкретно Sun(Oracle)-овской виртуальной машины, для других скорее всего другие. Кстати о птичках — есть еще много разных виртуальных машин и некоторые даже интересней чем мейнстрим и вполне работоспособные. (А о параметрах слышал, и многие использовал и GC отлаживал и чего только не делалось.)
Та понятно — просто не берусь утерждать за то с чем не работал. Скажем так проведение тестов скорее всего более менее справедливое для обоих платформ. Но вопрос конечно достоверные-ли результаты — так может быть, что учитывая разные тонкости результат будет противополонжым, другим, а возможно и не сильно отличаться. Ну например JavaJIT оптимизирует, для примера, отдельные методы — правильно тестировать 100 раз запустатить в холостую и раз для теста метод делающий тест, то есть много тестов за раз. На самом деле почему делается 10000 или сколько там микротестов — опять же из-за того же разогрева кешей кода и данных, а также что бы устранить разные еффекты переключения задач. Но в любом случае есть подозрение, что табличный, например, синус вполне сравним с i++ и i < N.
Прогоняется, то прогоняется. Только нужно запустить тест достаточный, что бы все разогрелось и выкинуть его результаты. Это достаточно просто понять. Еще если например тестируется веб-приложение, то все кеши желательно отключить и так далее.
Сорри, случайно, не попал на ту кнопочку — минусовал, но полностью поддерживаю. JavaVM — это почти интерпретатор при первом запуске — не раз проверялось. Код оптимизруется через некоторое время: JIT однако en.wikipedia.org/wiki/Just-in-time_compilation.
Да еще и тесты под вопросом. Не меряется ли скорость i++? Нужно оценить время отдельной операции. Если оно по порядку сравнимо с i++ то в чём суть тестов?
Ну и усреднение не лучший вариант. Считайте, что-то вроде квантилей — отбрасывайте сильно выпадающие результаты. 10 тестов тоже не понятно почему? Почему не 20? Или 30? И опятже почему среднее. Возможно даже худщий результат при грамотной обработке отображает больше информации. Вобщем советую почитать или просто подумать и повозится еще. Есть такой злой показатель как время переключения контекста — оно иногда на совсем мелких(<10ms) тестах портит некоторые показатели.
Все равно спасибо за проделаную работу.
Ну вы спросите. Тю, так специалисты вашего же Касперского на конференциях сами и расказывают как используют виртуальное окружение и вот этого Aybo для исследования вирусных атак.
Ну тут что могу сказать - 2 месяца назад в период старта всплывали вещи посерьезнее, чем 31 февраля :), тем более что в этом действительно, ничего страшного, как если б и назваться несуществующим именем. IMHO.
Впрочем, для порядка поправили и это.
Одно дело исправлять, другое - добавлять функциональности.
Исправляем мы сразу, как поступает жалоба. А предложения пользователей о новшествах это всего лишь идеи, которые не всегда удачны, чтоб спешить их реализовывать.
Да еще и тесты под вопросом. Не меряется ли скорость i++? Нужно оценить время отдельной операции. Если оно по порядку сравнимо с i++ то в чём суть тестов?
Ну и усреднение не лучший вариант. Считайте, что-то вроде квантилей — отбрасывайте сильно выпадающие результаты. 10 тестов тоже не понятно почему? Почему не 20? Или 30? И опятже почему среднее. Возможно даже худщий результат при грамотной обработке отображает больше информации. Вобщем советую почитать или просто подумать и повозится еще. Есть такой злой показатель как время переключения контекста — оно иногда на совсем мелких(<10ms) тестах портит некоторые показатели.
Все равно спасибо за проделаную работу.
Впрочем, для порядка поправили и это.
Как всегда, спасибо, за сообщения о найденных ошибках, хотя о них удобнее читать в разделе "техподдержка" на мемори.
Исправляем мы сразу, как поступает жалоба. А предложения пользователей о новшествах это всего лишь идеи, которые не всегда удачны, чтоб спешить их реализовывать.