cache4j perfomance tester |
Пакет для тестирования API кеширования объектов
в java |
Тестируемые библиотеки |
|
Тесты |
Для всех кешей установлено:
- максимальное количество объектов : 1000
- алгоритм вытеснения объектов : lru
- время нахождения объектов в кеше : неограниченно
- работа только с объектами в памяти
Данные для тестирования: Для каждого теста один раз генерируется
случайная последовательность чисел в количестве 2000 штук.
Эта последовательность используется для
тестирования всех реализаций кешей. Перед началом тестирования
кеш заполняется
объектами из сгенерированной последовательности.
В этом пакете реализованы такие тесты:
- Get - запрос объекта из кеша
- GetPutRemove - запрос объекта из кеша + если объект есть
то он удаляется + если объекта нет то он помещается в кеш
- GetPutRemoveT - запрос объекта из кеша + если объект есть
то он удаляется + если объекта нет то он помещается в кеш
+ все это делает 10 потоков
Описанные выше действия каждый тест выполняет 1000000 раз.
|
Требования к Java |
Запускается под JDK 1.4, 1.5 |
Запуск тестов |
Пакет поставляется в собраном виде.
Запустить тесты или пересобрать проект можно используя ant.
Команда: ant test пересобирает проект и запускает тесты
Для запуска тестов через run.bat в нём нужно прописать путь
к java.exe
При запуске run.bat в конце можно добавить сколько раз тестировать
каждое API. Например: run.bat 10 (тестировать 10 раз)
|
Как добавить свой тест? |
- Реализовать интерфейс net.sf.cache4j.perfomance.ITest
- Прописать полное название класса в файле \src\classes\net\sf\cache4j\perfomance\test.txt
- Пересобрать и запустить.
|
Как простестировать другой кеш ? |
- Реализовать интерфейс net.sf.cache4j.perfomance.ICache
- Прописать полное название класса в файле \src\classes\net\sf\cache4j\perfomance\cache.txt
- Пересобрать и запустить.
|
Рельтаты тестирования (run.bat 10) |
---------------------------------------------------------------
java.version=1.4.2_10
java.vm.name=Java HotSpot(TM) Client VM
java.vm.version=1.4.2_10-b03
java.vm.info=mixed mode
java.vm.vendor=Sun Microsystems Inc.
os.name=Windows 2000
os.version=5.0
os.arch=x86
---------------------------------------------------------------
This test can take about 5-10 minutes. Please wait ...
---------------------------------------------------------------
|GetPutRemoveT |GetPutRemove |Get |
---------------------------------------------------------------
cache4j 0.4 |7672 |8062 |5797 |
cache4j 0.4 |7610 |7953 |5719 |
cache4j 0.4 |7578 |7984 |5688 |
cache4j 0.4 |7594 |7953 |5766 |
cache4j 0.4 |7593 |7954 |5718 |
cache4j 0.4 |7609 |7953 |5641 |
cache4j 0.4 |7625 |8000 |5750 |
cache4j 0.4 |7593 |7937 |5687 |
cache4j 0.4 |7578 |7937 |5703 |
cache4j 0.4 |7610 |8000 |5718 |
oscache 2.2 |38875 |33547 |9015 |
oscache 2.2 |30578 |33547 |8984 |
oscache 2.2 |39296 |33469 |9000 |
oscache 2.2 |39922 |33735 |9110 |
oscache 2.2 |39610 |33844 |9078 |
oscache 2.2 |39234 |33922 |9109 |
oscache 2.2 |39188 |33938 |9157 |
oscache 2.2 |22234 |33969 |9110 |
oscache 2.2 |38563 |33765 |9094 |
oscache 2.2 |39484 |33750 |9063 |
ehcache 1.1 |6625 |6297 |3797 |
ehcache 1.1 |6625 |6281 |3828 |
ehcache 1.1 |6656 |6312 |3828 |
ehcache 1.1 |6610 |6297 |3844 |
ehcache 1.1 |6656 |6281 |3766 |
ehcache 1.1 |6625 |6296 |3844 |
ehcache 1.1 |6640 |6282 |3781 |
ehcache 1.1 |6656 |6297 |3766 |
ehcache 1.1 |6625 |6265 |3813 |
ehcache 1.1 |6625 |6297 |3828 |
jcs 1.2.7.0 |11172 |9844 |5250 |
jcs 1.2.7.0 |11141 |9875 |5219 |
jcs 1.2.7.0 |11047 |9860 |5250 |
jcs 1.2.7.0 |11140 |9860 |5219 |
jcs 1.2.7.0 |11141 |9843 |5234 |
jcs 1.2.7.0 |11110 |9875 |5265 |
jcs 1.2.7.0 |11156 |9875 |5250 |
jcs 1.2.7.0 |11141 |9859 |5234 |
jcs 1.2.7.0 |11125 |9860 |5250 |
jcs 1.2.7.0 |11187 |9859 |5282 |
---------------------------------------------------------------
|
|