|
|
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Не собираюсь тут обсуждать уместность применения интерфейсов, а просто решил рассказать об одном наблюдении. А именно: было подозрение, что применение интерфейсов в критических местах сказывается на быстродействии. В связи с приближающимися праздниками появилось время провести небольшой синтетический тест, вот его результаты. Тестируется быстродействие при использовании конкретного типа объекта, интерфейса и приведения типа. Тестировался простейший метод StringBuilder.length() исходный код Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. Не очень уверен насчет castTest, возможно тут работа оптимизатора, но результаты не в пользу интерфейсов: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Что скажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 12:00:50 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Моя ошибка. Такие результаты после исправления Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 12:07:33 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Добрый день, ivanra! > А именно: было подозрение, что применение интерфейсов в критических > местах сказывается на быстродействии. Есть такое. Зависит числа возможных вызовов. См. http://shipilev.net/pub/talks/j1-April2013-quantum-performance.pdf слайды 33 и 34. Видео с пояснениями наверное будет, но позже... > Что скажете? Если ты доказал, что для тебя эти задержки критичны- то да, разворачивай вызовы. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 12:17:53 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, а доклады чтоли записывались на видео? А то были, которые пришлось пропустить из-за параллельных сессий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 13:05:41 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Добрый день, just_vladimir! > а доклады чтоли записывались на видео? А то были, которые пришлось > пропустить из-за параллельных сессий... Часть писалась. "Похудание java" писали авторы, обещали выложить, если смотрибельно (слайды уже есть). Думаю, что Лёшу и Сергея 100% кто-нибудь писал- оно того стоит. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 14:51:03 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
На реальных проектах разница настолько ничтожна, что вы больше потратитесь на подсчет - какова же разница. Более того, пока количество классов в иерархии не более 2 - jit вообще нивелирует разницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 16:30:01 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Это полезно каких-нибудь для научных расчетов, когда вам дают терабайтный набор данных, описывающий состояние какой-то системы, и и это набор данных нужно пропустить через тысячи дифуров и прочих урчп. и расчет после этого будет занимать не 12 часов, а 11 часов 30 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 16:37:51 |
|
||
|
Интерфейсы и быстродействие
|
|||
|---|---|---|---|
|
#18+
Т.е. это имеет значение только для задач, которые не делают никакого i/o. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 16:40:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38243729&tid=2129443]: |
0ms |
get settings: |
14ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
43ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 449ms |

| 0 / 0 |
