Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Post your project for free and start receiving proposals from freelancers within minutes after publication!

The Delphi algorithm

Translated23 USD

Client's review of cooperation with Valera Vino

Quality
Professionalism
Cost
Contactability
Deadlines

Everything is fine, the work is done.

Freelancer's review of cooperation with Yevgeny Sergeyevich

Payment
Task setting
Clarity of requirements
Contactability

A good customer, adequate. pleasant to work.
I recommend cooperation.

  1. 147    5  0
    Winning proposal1 day23 USD

    I do it through DLL.
    In the delphi I didn't find the perfect way, so in the sharp I'll get the dll and through it we'll work.

  2. 221    6  1
    1 day23 USD

    The CreateFileA function
    The second parameter is dwDesireAccess - install in
    General_read by
    Third - dwShareMode put in 1
    The main rule is that all other discoveries of this file (other streams or processes) should not contradict the first discoveries in the issues of joint access rights.
    Synchronization of reading if required can also be through the events or through you certain flags/signs in shared memory. There is no problem with one process at all. This is the whole algorithm. More in detail - two packs of chest and coffee. It will be with schemes/blocks.)

  3. 1 proposal concealed
  • Valera Vino
    10 June 2019, 0:02 |

    Привет, напиши пожалуйста мне в телеграм t.me/coinbits
    или тут в личку.

  • Profile deleted
    10 June 2019, 0:15 |

    По-моему это невозможно. Многопотоково один файл. Или я чего то не знаю )))

    Только стрим ("на лету") качать данные и обрабатывать.

  • Sergey Grebenyuk
    10 June 2019, 4:32 |

    ну сорян канеш, но скорее второе

  • Yevgeny Sergeyevich
    10 June 2019, 0:27 |

    Мне необходимо многопоточно и синхронно дергать строки поочередно в каждый поток с смещением от начала и до конца файла.

  • Profile deleted
    10 June 2019, 0:29 |

    Ну если только сплитить (разделит) файл на мильён файлов и тогда обрабатывать их в многопотоке.

  • Igor Lyalchenko
    10 June 2019, 1:43 |

    Нет. Совместный доступ я описал в ставке. Собственно полагая что именно он вызвал проблему, т.к в содержимом файла, судя по ТЗ строки одинаковой длины и считать конкретную путем установки указателя на нужную ф-ей SetFilePointer не вызывает сложностей. Совместный доступ на чтение сам по себе прост. Правило которого следует придерживаться - первое открытие файла должно разрешать совместный доступ на чтение, а остальные открытия не противоречить друг другу в вопросах прав доступа. Например если вы открыли файл для чтения и записи, с произвольным доступом на чтение, а второй раз его пытаетесь открыть с разрешением произвольного доступа на чтение то это будет противоречить первому открытию, предусматривающему и запись тоже. Вот и вся тонкость

  • Profile deleted
    10 June 2019, 5:42 |

    В том то и дело (как я уже писала), что строки неодинаковой длины.

    Например:

    заказ №3 13.04.2019 

    заказ №456 13.12.2199 

    Поэтому даже сплитить файл - это потеря, как минимум, одной "записи".

  • Igor Lyalchenko
    10 June 2019, 8:13 |

    Ну а при неодинаковой длинне всегда полезно сперва составить карту строк. Массив смещений от начала. Иначе произвольный доступ к сотне байт, превратится в перечитывание 2гб

  • Igor Lyalchenko
    10 June 2019, 8:38 |

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

  • Igor Lyalchenko
    10 June 2019, 8:38 |

    *запроса=зачета

  • Yevgeny C
    10 June 2019, 1:45 |

    Такое "многопоточное" чтение бессмысленно, т.к. приведёт не к увеличению скорости чтения, а наоборот -  к деградации, особенно если файл находится на жёстком диске. 

  • Igor Lyalchenko
    10 June 2019, 1:53 |

    А вот вопрос.  Смотря какие цели. Чем ставить очередь на чтение к примеру не один-два запроса и с непредсказуемым доступом внутри файла, да ещё мелких объемов на чтение.. то скорость многопоточного варианта таки возрастет

  • Igor Lyalchenko
    10 June 2019, 2:07 |

    Нет, безусловно, блины вращаться быстрее не станут от того что файл открыт 1000 раз. Это понятно ))

    Вопрос для чего это дальше. Но технически это возможно и не сложно придумать ситуацию, когда это хоть и не вызовет большей скорости работы железа, но это железо поднапряжет и что то из него таки выдавит сверх однопоточного.

  • Yevgeny C
    10 June 2019, 2:50 |

    Да нет,  вы только проиграете по скорости, потому что скорость последовательного чтения как минимум на 2 порядка выше скорости случайного чтения. А при многопоточном чтении вы как раз и получите вариант случайного чтения данных с диск.

  • Igor Lyalchenko
    10 June 2019, 8:09 |

    Если нужно последовательное (строго последовательное, напр речь о копировании файла) то да, безусловно правы.


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


    Ну а если речь о необходимости произвольного чтения что в один что в несколько потоков ? Или вариант когда требуется доп обработка перед тем как можно читать дальше и пока мы обрабатываем hdd простаивает? 


  • Vyacheslav Azarov
    10 June 2019, 6:27 |

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

  • Igor Lyalchenko
    10 June 2019, 8:10 |

    Ну и ещё может не быть алгоритма а может быть задача по какой нибудь лабораторной ))

    В которой сказано - нужно многопоточно ))

  • Yevgeny C
    10 June 2019, 9:42 |

    Выигрыш от многопоточности будет только при обработке файла, а не при его чтении. Чтобы получить максимальную скорость, читать нужно одним потоком последовательно, а обрабатывать считанные данные уже многопоточно.

  • Igor Lyalchenko
    10 June 2019, 9:49 |

    согласен. почти всегда это возможно реализовать именно таким способом ))

    я лишь говорю что многопоточно это тоже возможно, хоть и под сомнением целесообразность. 

Current freelance projects in the category Desktop Apps

Need to extract POST / GET / PUT requests from the TikTok mobile application urgently.

In essence. It is necessary to extract POST / GET / PUT requests from the TikTok mobile application. Even by essence, it is not necessary to fully reverse anything since signatures are available on the internet, etc. But it would also be great. All authorization (Sending…

Web ProgrammingDesktop Apps ∙ 2 days 18 hours back ∙ 21 proposals

Development of custom software (Android application + CMS) for SUNMI K2 self-service kiosks (Fast food)

23 USD

We are looking for an experienced team or a Middle/Senior Android developer (possibly with Full-stack skills) to create proprietary software for self-service kiosks for a fast food retail chain. Currently, our terminals operate on a ready-made cloud integrator, but we are…

Content Management SystemsDesktop Apps ∙ 3 days 13 hours back ∙ 19 proposals

It is necessary to migrate the current working program from FoxPro to C#.

Hello everyone! We have a program in FoxPro (it has several modules, it's an accounting program), we have the source code of the program, and if necessary, we can consult with people who support the current program. What needs to be done: 1. Analyze how everything works,…

C#Desktop Apps ∙ 8 days 21 hours back ∙ 18 proposals

About the Master Program "KONSTRUCTOR"

4182 USD

We are looking for a very experienced C++ developer to modernize existing software (master program). The program is responsible for creating derivative software representing audio-visual sessions of psychological correction. The current version is written in pure WinAPI (Visual…

C & C++Desktop Apps ∙ 11 days 9 hours back ∙ 19 proposals

ODOO Enterprise setup for construction

Необхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах…

Enterprise Resource Planning (ERP)Desktop Apps ∙ 11 days 18 hours back ∙ 7 proposals

Client
Yevgeny Sergeyevich
Ukraine Kyiv  1  0
Project published
6 years back
159 views