Есть ли программное обеспечение/веб-сайт, на котором я могу представить свои коды на C, C++ и Java и получить статистику, такую как время выполнения программы, используемая память? Мне интересно провести сравнение одного и того же кода на разных языках и получить оценку того, какие структуры данных/операции лучше подходят для какого языка.Время выполнения программы
ответ
Это называется benchmarking, и вы можете сделать это сами. Дело в том, что многие другие переменные влияют на результаты, поэтому было бы лучше контролировать среду и измерять производительность вашей программы, пытаясь устранить как можно больше внешних переменных.
Например, рекомендуется делать все измерения всех программ на же машины с окружающей средой в же, насколько это может быть достижимо.
Это фактически не отвечает на вопрос. Если вы скажете ему, что он может сделать это сам, разве вы не должны сказать, как это может быть достигнуто? –
Сделай сам. На * NIX машины (например, Linux и OSX) просто запустить из терминала:
time java YourJavaProgram
или
time ./YourCProgram
В Windows вы можете write a little batch script сделать эквивалент.
Это может быть предвзято за разное время запуска до фактического выполнения некоторого кода. –
Он попросил время выполнения программы. Время запуска - часть времени выполнения программы. –
Звучит неплохо, спасибо! – Appster
Если вы хотите получить контрольную точку функций, использование «времени» нечестно. Вы должны написать следующее на своем языке.
time_before = get_now()
// do something
span = get_time() - time_before
Общее используется/свободная память о программе может быть получена в программе с помощью java.lang.Runtime.getRuntime();
Время выполнения имеет несколько методов, которые относятся к памяти. Следующий пример кодирования демонстрирует его использование.
package test;
import java.util.ArrayList;
import java.util.List;
public class PerformanceTest {
private static final long MEGABYTE = 1024L * 1024L;
public static long bytesToMegabytes(long bytes) {
return bytes/MEGABYTE;
}
public static void main(String[] args) {
// I assume you will know how to create a object Person yourself...
List<Person> list = new ArrayList<Person>();
for (int i = 0; i <= 100000; i++) {
list.add(new Person("Jim", "Knopf"));
}
// Get the Java runtime
Runtime runtime = Runtime.getRuntime();
// Run the garbage collector
runtime.gc();
// Calculate the used memory
long memory = runtime.totalMemory() - runtime.freeMemory();
System.out.println("Used memory is bytes: " + memory);
System.out.println("Used memory is megabytes: "
+ bytesToMegabytes(memory));
}
}
Используйте System.currentTimeMillis(), чтобы получить время начала и окончания времени и вычислить разницу.
package performance.test;
class TimeTest1 {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
long total = 0;
for (int i = 0; i < 10000000; i++) {
total += i;
}
long stopTime = System.currentTimeMillis();
long elapsedTime = stopTime - startTime;
System.out.println(elapsedTime);
}
}
- 1. Время выполнения программы
- 2. Время выполнения программы Clojure
- 3. Показывать ход выполнения во время выполнения программы
- 4. Время выполнения многопоточной программы python
- 5. Уменьшить время выполнения Java-программы
- 6. время выполнения программы HW Проблема
- 7. java.lang.NoSuchMethodError во время выполнения программы
- 8. вычислить время выполнения моей программы
- 9. sigsegv во время выполнения программы
- 10. Найти код программы во время выполнения?
- 11. Просмотр списков поколения во время выполнения программы
- 12. Как найти время выполнения программы в Eclipse?
- 13. Получить имена полей во время выполнения программы
- 14. Ошибка программы Java heapsort во время выполнения
- 15. Выполнение программы с корнем во время выполнения
- 16. Формы Windows, застрявшие во время выполнения программы
- 17. Eclipse, чтобы получить время выполнения программы
- 18. Записывать значения во время выполнения программы
- 19. Как сократить время выполнения следующей программы
- 20. Ограничить время выполнения программы с каналами
- 21. Как рассчитать время выполнения программы в streambase?
- 22. ошибка сегментации во время выполнения программы
- 23. Как сократить время выполнения для Java-программы?
- 24. Повторная компиляция кода во время выполнения программы
- 25. Сегмент данных во время выполнения программы
- 26. вычислить время выполнения для Java-программы
- 27. Остановка выполнения программы через определенное время
- 28. Как улучшить время выполнения этой программы?
- 29. Как messaure время выполнения программы, вызванной execvp?
- 30. Java, время выполнения простой программы слишком высокое
Если вы ищете программное обеспечение, желательно предоставить платформу для вас. Т.е.: win/linux/mac/... –
Почему бы вам не проверить его на нашей локальной системе вначале, разве это не было бы достаточным для целей сравнения? –
@ Avada- У меня все трое, так скажите мне, кто-нибудь или все! – Appster