|
|
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
исходный топик - http://www.sql.ru/forum/actualthread.aspx?tid=154645 напомню, что обсуждались алгоритмы транслита и их скорость. конечно, предложенный мной - самый тупой (в лоб), имеет два цикла (причем один вложен в другой) и исполняется достаточно долго. далее следовал алгоритм с использованием Hashtable. я предлагаю еще один :) написан и исполнен с одного раза, т.е. имеет место оптимизация. для начала определимся, что 'А' = 1040 (русская), 'Я' = 1071, вся последовательность алфавита постоянная (за исключением 'Ё' = 1025). для строчных букв: 'а' = 1072 ... 'я' = 1103, 'ё' = 1105. код: Код: plaintext 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. 81. 82. 83. 84. toTransli1() - тот код, который приводил я ранее, toTranslit2() - еще раз предлагаю :) результаты: 7718, mama xyz sshila mne shtany qwer i srat' hotela ty na menja znachit ja gad parshivyj i nichego ne kushal s utra 1578, mama xyz sshila mne shtany qwer i srat' hotela ty na menja znachit ja gad parshivyj i nichego ne kushal s utra как видим, оба текста транслит делают, оставляя латинские буквы латинскими. время выполнения - 7718 мс и 1578 мс фпирёт! как говориться :) PS да. предлагаю отталкиваться от чего-то общего при замерах времени исполнения. пусть это будет toTranslit2(). число выполнений метода пусть будет 100000. -- Lacrima Mosa Est ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 11:32 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
А почему не тестировался вариант с hashtable? %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:39 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:52 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
Вариант с hashmap: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 5188, mama xyz sshila mne shtany qwer i srat' hotela ty na menja znachit ja gad parshivyj i nichego ne kushal s utra ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:58 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsА почему не тестировался вариант с hashtable? %) лень было ...put(); делать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 14:38 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
Я put в экселе делал, потом табы на "" меняешь и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 15:24 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ NotGonnaGetUsА почему не тестировался вариант с hashtable? %) лень было ...put(); делать :) Cтранно. У ты на чём запускал? 14000 и 7000 это большая разница для одного и того же теста :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 15:52 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs А.Грасоff™ NotGonnaGetUsА почему не тестировался вариант с hashtable? %) лень было ...put(); делать :) Cтранно. У ты на чём запускал? 14000 и 7000 это большая разница для одного и того же теста :) P4 2GHz, 512 RAM, Win 2000 SP4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 16:22 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ NotGonnaGetUs А.Грасоff™ NotGonnaGetUsА почему не тестировался вариант с hashtable? %) лень было ...put(); делать :) Cтранно. У ты на чём запускал? 14000 и 7000 это большая разница для одного и того же теста :) P4 2GHz, 512 RAM, Win 2000 SP4 Лол. P4 2.4, 768, win2k sp4, java 1.4.2_06/1.5.0_01. Первый тест всегда около 14-15с. Почему так получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:22 |
|
||
|
давайте тут пооптимизируем на тему транслита :)
|
|||
|---|---|---|---|
|
#18+
Вот еще вариант. Быстрее процентов на 20. Код: plaintext 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. Табличку всю мне было лень заполнять так что извиняйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32884984&tid=2153031]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 301ms |

| 0 / 0 |
