Языки программирования и обработка текстов
От: comm Россия http://bipulse.ru
Дата: 31.10.18 11:02
Оценка:
Коллеги, добрый день!

Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.

Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?

Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

(Perl наверное выиграет, но же не настолько популярен)
С уважением, Алексей Васильев. http://bipulse.ru
Re: Языки программирования и обработка текстов
От: koenig  
Дата: 31.10.18 11:34
Оценка:
в этом контексте любят упоминать снобол
сам не пробовал, не скажу
Re: Языки программирования и обработка текстов
От: kov_serg Россия  
Дата: 31.10.18 11:42
Оценка: +2
Здравствуйте, comm, Вы писали:

C>Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.

C>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?

C>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

Вы уверены что производительность главное при разборе текстов?
Re: Языки программирования и обработка текстов
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 31.10.18 11:54
Оценка: 4 (1)
Здравствуйте, comm, Вы писали:

C>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?

C>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

C!
Re: Языки программирования и обработка текстов
От: iZEN СССР  
Дата: 31.10.18 12:12
Оценка:
Здравствуйте, comm, Вы писали:

C>(Perl наверное выиграет, но же не настолько популярен)


Вообще-то, Perl — основа языкового разнообразия в Unix.
Re: Языки программирования и обработка текстов
От: оwl  
Дата: 01.11.18 12:16
Оценка:
Здравствуйте, comm, Вы писали:

C>Коллеги, добрый день!


C>Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.


C>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?


C>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов


Работать с текстом удобнее наверное на питоне, тем более что многие тяжелые алгоритмы и библиотки вынесены в скомпилированные либы.
Но если скорости все равно не будет хватать то только C/C++ .
Re[2]: Языки программирования и обработка текстов
От: comm Россия http://bipulse.ru
Дата: 02.11.18 22:22
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, comm, Вы писали:


C>>Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.

C>>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?

C>>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

_>Вы уверены что производительность главное при разборе текстов?


Когда у меня 150МБ Json исходников разбирается 29 часов, то да, я уверен для меня важная производительность.
Конечно у меня БД есть, оптимизация на ней дала выигрыш, стали обрабатывать за 9 часов. Но многовато.
С уважением, Алексей Васильев. http://bipulse.ru
Re[2]: Языки программирования и обработка текстов
От: comm Россия http://bipulse.ru
Дата: 02.11.18 22:25
Оценка:
Здравствуйте, оwl, Вы писали:

оwl>Здравствуйте, comm, Вы писали:


C>>Коллеги, добрый день!


C>>Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.


C>>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?


C>>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов


оwl>Работать с текстом удобнее наверное на питоне, тем более что многие тяжелые алгоритмы и библиотеки вынесены в скомпилированные либы.

оwl>Но если скорости все равно не будет хватать то только C/C++ .

в PHP они же тоже вынесены. Или не настолько?

C/C++ конечно прикольно, но вручную памятью управлять как-то лень. Уже управлял, прямо со своей кучей.
С уважением, Алексей Васильев. http://bipulse.ru
Re[2]: Языки программирования и обработка текстов
От: comm Россия http://bipulse.ru
Дата: 02.11.18 22:30
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, comm, Вы писали:


C>>Вопрос: Что из популярных языков лучше (быстрее) все обрабатывает тексты: PHP, C++, Go, Java, C# ?

C>>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

N>C!


Отличная ссылка! как раз заметил в соседнем треде.
Судя по результатам, с PHP только на C++ двигать 8-(
С уважением, Алексей Васильев. http://bipulse.ru
Re[3]: Языки программирования и обработка текстов
От: kov_serg Россия  
Дата: 03.11.18 06:45
Оценка:
Здравствуйте, comm, Вы писали:

C>>>Обработка: разбор строк, сравнение, поиск подстроки, поиск строки в массиве, склейка, сериализация объектов

_>>Вы уверены что производительность главное при разборе текстов?

C>Когда у меня 150МБ Json исходников разбирается 29 часов, то да, я уверен для меня важная производительность.

C>Конечно у меня БД есть, оптимизация на ней дала выигрыш, стали обрабатывать за 9 часов. Но многовато.
У меня на ноуте 5Gb парcятся 10мин на lua. Я подозреваю что у проблема не с парсером, а с записью в базу. Вам следует пройтись профайлером. Или запустить вашу программу без записи в базу и оценить вклад одного и другого. Обычно помогает писать данные в базу группами (begin insert*N1 end)*N2
Re[3]: Языки программирования и обработка текстов
От: GarryIV  
Дата: 03.11.18 07:28
Оценка:
Здравствуйте, comm, Вы писали:

C>Когда у меня 150МБ Json исходников разбирается 29 часов, то да, я уверен для меня важная производительность.

C>Конечно у меня БД есть, оптимизация на ней дала выигрыш, стали обрабатывать за 9 часов. Но многовато.

В таких задачах узкое место ввод-вывод и алгоритмы. Язык дело десятое.

150мб ввобще не те объемы. Тут явно надо алгоритмы тюнить.
WBR, Igor Evgrafov
Re[3]: Языки программирования и обработка текстов
От: VVV Россия  
Дата: 03.11.18 20:05
Оценка:
Здравствуйте, comm, Вы писали:

C>Когда у меня 150МБ Json исходников разбирается 29 часов, то да, я уверен для меня важная производительность.

C>Конечно у меня БД есть, оптимизация на ней дала выигрыш, стали обрабатывать за 9 часов. Но многовато.

Хм.. 150Мб (точно Мб, а не Гб или Тб?) это совсем "детский" размер. Что вы такого делаете с данными? может, здешние старожилы смогут подсказать, как это сделать эффективнее?

P.S. у нас логи приходят по несколько Гб. обычные консольные утилитки разбирают их за секунды (максимум 30-40 секунд на 25Гб).
Re: Языки программирования и обработка текстов
От: Pavel Dvorkin Россия  
Дата: 05.11.18 13:24
Оценка: +1
Здравствуйте, comm, Вы писали:

C>Коллеги, добрый день!


C>Что-то меня вопрос возник, по производительности языков программирования. Каждый язык заточен под свою область применения, отсюда складывается удобство использования (синтаксический сахар) и производительность операций.


По большому счету все равно. Думаю, производительность будет отличаться не больше чем в 2-3 раза, если, конечно, алгоритмы адекватные. Если на Java/C# начать конкатенировать String в цикле — мало никому не покажется .
Ну а синтаксический сахар — это лишь тема для холивара, что удобнее, на суть действий он не влияет

C/C++ должен выигрывать за счет нативного кода и тем самым отсутствия оверхеда на всякие проверки, без которых при корректно написанной программе можно и обойтись.

C>Когда у меня 150МБ Json исходников разбирается 29 часов, то да, я уверен для меня важная производительность.


Можно с полной уверенностью утверждать, что дело не в языке, а в алгоритме. 150 Мб json глотается целиком в оперативную память любой современной машины на ура за десяток секунд максимум. Что после этого делать 29 часов, да даже и 1 час, да даже и 10 минут — не понимаю. Надо либо профилировать это безобразие, либо искать причины путем ручного анализа кода. Например, если там то и дело читаются куски этого json с диска, да еще много раз — можно и больше провозиться.

Какой язык, какая библиотека для работы с json ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.