Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!

Оптимизация работы программы,уменьшение времени на расчеты.

closed without completion


Требуется ускорить расчеты в программе изменив её код или перепив её на другом языке - в идеале сократить время расчета x100, если это вообще возможно.

В данной программе на сравнение 1001 строки с 338402 строками уходит 377 сек, при моей необходимости сравнивать не 1001, а ~260000 строк, что в итоге будет занимать у меня ~27 часов!!! Это никуда не годится.

Суть работы программы - каждая строка файла "test 1001" сравнивается со строками "1105 вход" - для получения строки с кол-ом совпадений(для каждой из строк  "test 1001") - для которой в дальнейшем задаётся диапазон и если строка 1)не соответствует 1 искомому значению или 2)всем значениям сразу из заданного диапазона то такие строки отсеиваются, а в файл экселя сохраняются строки прошедшие проверку(кнопка "отсеять").

Кнопка "сохранить" здесь нужна для сохранения строк в которых в ячейках 14 и 15 значение >= 1


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


Задавайте вопросы и предлагайте решение, если такое есть.




Update #1 from 19 June 2017
Требуется ускорить расчеты в программе изменив её код или переписав её на другом языке - в идеале сократить время расчета x100, если это вообще возможно.
В данной программе на сравнение 1001 строки с 338402 строками уходит 377 сек, при моей необходимости сравнивать не 1001, а ~260000 строк, что в итоге будет занимать у меня ~27 часов!!! Это никуда не годится.
Суть работы программы - каждая строка файла "test 1001" сравнивается со строками "1105 вход" - для получения строки с кол-ом совпадений(для каждой из строк "test 1001") - для которой в дальнейшем задаётся диапазон и если строка 1)не соответствует 1 искомому значению или 2)всем значениям сразу из заданного диапазона то такие строки отсеиваются, а в файл экселя сохраняются строки прошедшие проверку(кнопка "отсеять").
Кнопка "сохранить" здесь нужна для сохранения строк в которых в ячейках 14 и 15 значение >= 1

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

Задавайте вопросы и предлагайте решение, если такое есть.

Update #2 from 19 June 2017
http://my-files.ru/dcq4m1 - исходный код

Update #3 from 19 June 2017
https://ru.files.fm/u/jta7zt48 - исходный код,предыдущая ссылка не работает.

Applications 4

Only registered users can view attachments.


  1. 2 days3000 ₴
    Тарас Kremin
     149   1   0

    Добрый день.
    Задания понятно, единственный вопрос с диапазонами.
    Мы можем созвонится в скайпе. Есть вопросы для понимания всего процесса сравнения и оптимизации алгоритма.

    Ukraine Lvov | 19 June 2017 |
  2. 3 days2000 ₴
    Дмитрий Евсеенко
     157 

    Готов рассмотреть и сделать оптимизацию.
    В крайнем случае можно переписать под С++ и делать ассемблерные вставки.
    Или отдельно модуль полностью на ассемблере с учетом собенностей кеша.
    Обращайтесь

    p.s. ваша программа и исходники не прошли проверку virustotal!

    Belarus Minsk | 19 June 2017 |
  3. 3 days500 ₴
    Владимир Соколец
     177   3   0

    Стукните в скайп sokolv555, обсудим.

    Ukraine Ukraine | 19 June 2017 |
  4. 7 days3000 ₴
    Володимир Соколов
     786   40   2

    Ну все как я и говорил, обратитесь вы еще к спецам)
    Цена не символическая, это столько стоит компетентность. Сколько вы потратили на некомпетентность знаете только вы, но смысл достаточно понятен

    P.s. в июле будет 5к) просто потому, что если вы не найдете до того времени того кто может, то мои навыки будут уникальными и соответственно дороже)

    Ukraine Lvov | 19 June 2017 |
  5. 2 days1000 ₴
    Андрей Кругляков
     339   4   0

    сделаю в Excel(VBA)
    260000 будет обрабатывать за 2-3 мин
    сроки и цена условны, точнее скажу после уточнения ТЗ.
    свяжитесь со мной по почте [email protected]

    Ukraine Kyiv | 20 June 2017 |
  • какие алгоритмы и язык использовали?

  • Марк Ротенберг — project author
    Complain | 19 June 2017 |

    Язык С#

  • использовать базу данных и индексацию по полю, должно ускорить. Это на случай если вы сравниваете все со всеми


  • лол, у него ексель, какая БД?

  • а что мешает положить данные в базу и использовать инструмент сервера по индексации? проще же чем пилить этот же велосипед но на с#?

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

  • Юрий Артюх
    Complain | 19 June 2017 |

    с диапазонами не очень понятно... можно код в ЛС ? 

  • Марк Ротенберг — project author
    Complain | 19 June 2017 |

    http://my-files.ru/dcq4m1

  • Юрий Артюх
    Complain | 19 June 2017 |

    StringComparison.rar

    Файл был удалён.Причина удаления: Файл является вредоносным ПО. Результаты проверки: https://www.virustotal.com/file/3e7d6c39324c2e123fce9834ba8f27e38a073590d3ce3d88b7d4b241982dbc04/analysis/1497888810/
     Параметры файла


  • Марк Ротенберг — project author
    Complain | 19 June 2017 |

    интересно..

  • Марк Ротенберг — project author
    Complain | 19 June 2017 |

    Жду предложения по стоимости.

  • продам 5 советом за 300 грн каждый) чисто для предыдущего исполнителя предложение

  • Тарас Kremin
    Complain | 21 June 2017 |

    Такс, и какой финальный результат?


  • Add

Client
Марк Ротенберг
Russia Moscow  3   0
Project published
19 June 2017
234 views