Только что портил некоторые тулзы, обрабатывающие генетическую информацию с ANSI C на джаву, строка-в-строку.
И был очень удивлён, что разница - в пределах ошибки.
Тулзы типа транспонируют матрицы, ну просто крутят данные, а данных могут быть многие гигабайты. Только одна строка - порядка миллиона аллелей, а их может быть много.
Дык вот, на Си, скажем, миллион рекордов обрабатывается в 1.5-1.8 секунд. На джаве - 2.5 секунд вместе с загрузкой виртуальной машины, но саму строку обрабатывает 1.8 секунд (колеблется в приделах 20% в моём ленивом семпле из 5 запусков). Т.е. когда количество строк будет очень большим - загрузкой VM можно пренебречь, а данные колошматят как Си (gcc -O2) и джава - с одинаковой скоростью.
Детали: маллоками не пользуюсь, всё делаю на стеке. В джаве тоже всё в стиле Си (немногие классы - как сишные структуры с публичным доступом - на частые операции, в основном - функции). Никакого юникода (его в тех форматах не предвидится), поэтому читаю асками, как intы и кастю в char под конец, только что нужно. Т.е. оптимизированнее некуда.
Этак можно на Си забить для подобных задач (я давно тестил одну и ту же большую экстракцию данных из базы - разницы не заметил, но там ясно: чистое ожидание IO, в базах на Си давно забил. Потом тестил хэши, работа с большимы хешами также в джаве оказалась даже быстрее). А тут такое. С большими локальными файлами и их обработке. Однако...
←
1
2
→
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от sergej
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от sergej
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от nu11
Ответ на:
комментарий
от tailgunner
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от pevzi
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от elipse
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от elipse
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от DNA_Seq
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от segfault
Ответ на:
комментарий
от siberean
Ответ на:
комментарий
от proud_anon
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Firefox медленно закапывает джаву (2013)
- Форум Медленный вай-фай (2009)
- Форум обработка большого массива (2011)
- Форум perl Обработка массива (2018)
- Форум Обработка текстового файла (2016)
- Форум Си/Си++: отличие массивов от указателей (2018)
- Форум Обработка массива из пробки. (2016)
- Форум Обработка массива в памяти (2013)
- Форум numpy обработка большого массива (2011)
- Форум Размер выделенного массива (СИ) (2018)