|
|
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Добрый день, дорогие коллеги! Есть архив с примерно 5000 файлов размером 130 мегабайт. Вот код его распаковки Код: 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. Помогите оптимизировать распаковку, т.к. в консоле LogCat андроида ругается сборщик мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 22:26 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtimДобрый день, дорогие коллеги! Есть архив с примерно 5000 файлов размером 130 мегабайт. Вот код его распаковки Код: 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. Помогите оптимизировать распаковку, т.к. в консоле LogCat андроида ругается сборщик мусора. Код: java 1. 2. 3. 4. Может стоит иногда сбрасывать на диск из памяти ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 22:32 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
оно ? Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 22:51 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
)) попробуйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 22:58 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Судя по http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/io/FileOutputStream.java#FileOutputStream.write(int) не поможет flush Снимите heapdump посмотрите хип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 23:05 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Собственно close должнен вызывать flush но не у всех потоков. Посмотрел чужие примеры, везде ставят flush ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 23:21 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtimЕсть архив с примерно 5000 файлов размером 130 мегабайт. Форменное издевательство над андроидом... Это не основном потоке, надеюсь, делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:02 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
wadman, Само собой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:40 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtimВот код его распаковки BufferedOutputStream и BufferedInputStream не пробовали добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:50 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Вот так ругается консолька авторGC_CONCURRENT freed 1170K, 20% free 7646K/9479K, paused 1ms+2ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:50 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Вот это странный код. Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:53 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Надо бы попрофилировать. Потому что код, в целом, если не считать отсутствие буфера, нормальный. https://developer.android.com/tools/debugging/debugging-memory.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:01 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtimwadman, Само собой Тогда наверное стоит вставить какую-нибудь малозначительную паузу между файлами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:02 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
wadmanТогда наверное стоит вставить какую-нибудь малозначительную паузу между файлами? Интересный совет. Действительно, если распаковка занимает большое количество времени CPU, то GC может просто не успеть расшириться\отработать. С другой стороны должны быть большие простои на IO. Которые должны заменить эти паузы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:14 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtim Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Побайтовая перекачка данных - не лучшее решение: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 11:49 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Только неравенство должно быть нестрогое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 11:52 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПобайтовая перекачка данных - не лучшее решение: Код: sql 1. Свой буфер аналогично. http://developer.android.com/reference/java/io/BufferedOutputStream.html Сотню тактов процессора, разве что, можно сэкономить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 11:53 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovpetrovichtim Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Побайтовая перекачка данных - не лучшее решение: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Спасибо! Решил вот так Код: 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. Вот эта вещь byte[2048] сильно влияет на производительность? Что будет если её поменять на 4048 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:47 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
[quot petrovichtim] Код: java 1. 2. 3. 4. 5. [quot] Это facepalm. BufferedOutputStream уже реализует запись через byte[], которую вы реализовали самостоятельно. Почему было не воткнуть ещё BufferedInputStream - для меня остаётся загадкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:50 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtimВот эта вещь byte[2048] сильно влияет на производительность? Что будет если её поменять на 4048 ? Зависит от файловой системы. В теории, скорость копирования может немного увеличится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:52 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
BufferedOutputStream По умолчанию пишет в 8192 как я понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 14:51 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtim BufferedOutputStream По умолчанию пишет в 8192 как я понимаю? Да. В доке так написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 15:06 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
BlazkowiczСвой буфер аналогично. http://developer.android.com/reference/java/io/BufferedOutputStream.html Толку-то? Ну заполнил рантайм этот буфер одним вызовом - в коде всё равно извлекается его содержимое по одному байту.Сотню тактов процессора, разве что, можно сэкономить.Это дисковых обращений не экономится, а процессор - ещё как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 19:44 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЭто дисковых обращений не экономится, а процессор - ещё как. На фоне разницы в IO, можно сказать что никак не экономится. Даже Unzip обходится на несколько порядков дороже, чем такая оптимизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 19:54 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНа фоне разницы в IO, можно сказать что никак не экономится. Даже Unzip обходится на несколько порядков дороже, чем такая оптимизация. В, принципе, для 130Мб, 5-10 секунд можно поиметь. Но боюсь себе представить сколько на мобилке будут эти 130Мб распаковываться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 20:09 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
"contig -n zero 10000000" создаёт файл нужного размера: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Запускаем несложный тест: побайтово Код: sql 1. 2. 3. 4. 5. 6. 7. 8. буфер Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Абсолютная разница, разумеется не велика, но полтора порядка и "не экономит процессор" - не одно и то же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 20:47 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
petrovichtim, я думаю что собака порылась в имплементации java.util.zip.ZipCoder. Она скорее всего отличается от Sun-овской и причину ругани уборщика мусора надо искать там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 22:32 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЗапускаем несложный тест: Абсолютная разница, разумеется не велика, но полтора порядка и "не экономит процессор" - не одно и то же. Это не тот тест. Побайтовое копирование заверни в BufferedReader + BufferedWriter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 08:30 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто не тот тест. Побайтовое копирование заверни в BufferedReader + BufferedWriter.В тесте одинаково всё, кроме числа вызовов функции read(). Количество (не)буферированых чтений/записи - одинаково, т.к. определяется потрохами System.in/System.out. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 09:57 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВ тесте одинаково всё, кроме числа вызовов функции read(). Количество (не)буферированых чтений/записи - одинаково, т.к. определяется потрохами System.in/System.out. "Няня, я у них поел." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 10:02 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Хотел привести соображения, очевидные из общей эрудиции и банальной логики, но передумал. буферированый ввод-вывод, побайтовое копирование Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext 1. 2. 3. 4. 5. 6. Ну отыграли ~200 миллисекунд (около трети) - толку-то, если более короткий код продолжает оставаться на полтора порядка быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 10:31 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНу отыграли ~200 миллисекунд (около трети) - толку-то, если более короткий код продолжает оставаться на полтора порядка быстрее. Он не более короткий. 4 секунды на каждые 100Мб. Тоже самое что я написал выше. На фоне IO задержек это ничто. Хотя вынужден признать, что для Android имеет смысл таким образом поэкономить батарею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 10:38 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Дело не в четырёх секундах на сто мегабайт. Дело в бездумном транжирстве проца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 10:41 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДело не в четырёх секундах на сто мегабайт. Дело в бездумном транжирстве проца. :D перегреется бедный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 10:56 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Blazkowicz, Оба подхода имеют право быть BufferTest.java Код: 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. size : 10 Mb Код: sql 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. size : 311 Mb Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 11:06 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Зря смеётесь - я зарядил эти же тесты, но с реальной записью, а не в /dev/nul. Сказать, что (уже буферированое) побайтовое копирование сосёт - ничего не сказать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Когда идёт вторая половина тестов (by byte) WMP начинает заикаться, бедняга. На двухпроцессорном дескопе с шестью гигабайтами ОЗУ. Было бы меньше памяти или файл оказался больше - заикался бы не только на первой вычитке . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 11:18 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Интересно а есть дизассемблер для Google-JVM bytecode? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:18 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
"Корпорация добра" изобрела собственный байт-код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:35 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, ДА. А ты НЕ ЗНАЛ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:37 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
maytonИнтересно а есть дизассемблер для Google-JVM bytecode?dex2jar + jd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 13:25 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
grasoff.net, сириец! Братэллова. Ну это как гланды удалить через задний проход Кстати интересно сделать Код: java 1. Мега-обсускация? Архиватор бабушкина? Аттрактор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 13:35 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
maytonА ты НЕ ЗНАЛ? Не интересовался. Если за пару лет ситуация не изменилась кардинально, то лучше бы не изобретали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 13:45 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Думаю что аргументом были деньги. Money talks, bullshit walks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 14:35 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Это не столько деньги, сколько "пусть плохонькое, но своё". Тем более, что (если не надоест) - со временем допилят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 14:53 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Ну и если я правильно понял первые ссылки из I-net, в отличие от FORTH-подобной (стековой) архитектуры в Sun JVM, используется архитектура на регистрах. Потенциально проще обеспечить спекулятивное выполнение и JIT компиляцию. Но это в теории. А на практике, как я понимаю из данного топика, все как всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:12 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Непомню где, кажется, в книжке по Lisp, попадолось примерно такое: "человек, зарубивший стековую архитектуру, был сослан во внутрифирменный аналог сибирских лагерей". Виртуальная Lisp-машина была регистровой и прозрачно имитировала реальную IBM-овскую железку. С тех пор техника оперативной компиляции шагнула далеко вперёд и минимально образованные люди не должны были использовать регистры "во имя эффективности". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 16:51 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНу и если я правильно понял первые ссылки из I-net, в отличие от FORTH-подобной (стековой) архитектуры в Sun JVM, используется архитектура на регистрах. Потенциально проще обеспечить спекулятивное выполнение и JIT компиляцию. Но это в теории. А на практике, как я понимаю из данного топика, все как всегда. Вроде же в Hotspot, как раз, стековая архитектура. А вот в Dalvik "регистровая". Разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:01 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Согласно тем самым "первым ссылкам в I-net" - именно так: "корпорация добра" выпендрилась с регистровым вариантом, но неудачно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:03 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Квотирую чё там пишет педивикия. Dalvik оптимизирован для низкого потребления памяти, это нестандартная регистр-ориентированная виртуальная машина, хорошо подходящая для исполнения на RISC-архитектурах процессоров, часто используемых в мобильных и встраиваемых устройствах, таких, как коммуникаторы и планшетные компьютеры. Большинство виртуальных машин, используемых в настольных системах, являются стек-ориентированными, включая стандартную виртуальную машину Java от Oracle. Программы для Dalvik пишутся на языке Java. Несмотря на это, стандартный байт-код Java не используется, вместо него Dalvik VM исполняет байткод собственного формата. После компиляции исходных текстов программы на Java (при помощи javac) утилита dx из «Android SDK» преобразует .class файлы в формат .dex, пригодный для интерпретации в Dalvik. В версиях выше Android 4.4 Kitkat, имеется возможность переключиться с Dalvik на более быстрый ART (android runtime). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:05 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Почему Dalvik это Dalvik. А HotSpot это "Java от Oracle". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:08 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Чем дальше в лес - тем толще патриоты. Еще какой-то ART появился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:12 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
ART is a new Android runtime Всё как обычно: сделали - не получилось, запилили новое, несовместимое со старым, но с новыми проблемами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:18 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю Далвик и Арт будут болтаться в устройстве параллельно. Что вобщем ужасно скажется на любителях поиграться в смартфончики. Будет много вопля и плача дескыть - 4.4 уже не Торт! Верните старый! Железяка тормозит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:25 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Не думаю, что сосуществование это трагедия. А вот появление нового означает, что старую фишку сделали так плохо, что не видят перспектив развития - проще замазать, чем отскрести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:27 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВсё как обычно: сделали - не получилось, запилили новое, несовместимое со старым, но с новыми проблемами. Чёйта несовместимое? На вход старый-добрый dex байткод телефончик его ahead-of-time компилирует в native. C native уже работает. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:31 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
А мне больше нравится методология работы .class => DEX ==> OAT (dex2oat) побольше перекодировок, хороших и разных. mayton... Мега-обсускация? Архиватор бабушкина? Аттрактор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:33 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
Было бы смешно когда после .class => dex => .class мы бы получили байткод меньшего размера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 17:45 |
|
||
|
Сборщик мусора тормозит
|
|||
|---|---|---|---|
|
#18+
avp.mkИли я не прав?Прав. "Но есть ньюанс". Если Dalvik такой хороший, а dex такой правильный - почему появился ART/AOT? Байт код "классической" JVM, в общем-то, не слишком изменился - масса вещей сделаны на уровне компилятора и библиотек. Очень многое - с сохранением полной обратной совместимости. Причём разработчикам Dalvik-а все эти возможности были вполне доступны. Включая альтернативные реализации JVM/RT с открытыми исходными текстами и, вероятно, вполне либеральными лицензиями. Но ведь выпендрились и "ну не шмогла я, мужик, не шмогла". P.S. Та же IBM не стала выёживаться, хотя делала и делает собственную JVM/JIT. Тот же MS - выпендрился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 22:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2126983]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 500ms |

| 0 / 0 |
