Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

Algorytm Delphi

Translated84 PLN

Opinia zleceniodawcy o współpracy z Valera Vino

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wszystko jest w porządku, praca jest wykonana.

Opinia freelancera o współpracy z Yevgeny Sergeyevich

Płatność
Opis zadania
Precyzyjność  wymogów
Zawsze w kontakcie

Dobry klient, wystarczający Miło pracować.
Polecam współpracę.

  1. 147    5  0
    Oferta, która wygrała1 dzień84 PLN

    Zrobię to za pośrednictwem dll.
    W delfie nie znalazłem idealnego sposobu, więc w karpie zbieram dll i przez nią będziemy pracować.

  2. 221    6  1
    1 dzień84 PLN

    Funkcja CreateFileA
    Drugi parametr dwDesireAccess - ustawiasz w
    GENERIC_Przeczytaj
    Trzeci - dwShareMode umieścić w 1
    Zasada główna - wszystkie pozostałe odkrycia tego pliku (drugi przepływ lub procesy) nie powinny sprzeczne z pierwszym odkryciem w kwestii praw do udostępniania.
    Synchronizacja czytania w razie potrzeby jest możliwa za pośrednictwem ewentu lub za pośrednictwem określonych flagi/ znaczeń w pamięci udostępnionej. Z jednego procesu nie ma problemu. I to jest cały algorytm. Szczegółowo - dwa pakiety czesteru i kawy. Będzie z schematami / blokami )

  3. 1 oferta jest ukryta
  • Valera Vino
    10 czerwca 2019, 0:02 |

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

  • Profil został usunięty
    10 czerwca 2019, 0:15 |

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

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

  • Sergey Grebenyuk
    10 czerwca 2019, 4:32 |

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

  • Yevgeny Sergeyevich
    10 czerwca 2019, 0:27 |

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

  • Profil został usunięty
    10 czerwca 2019, 0:29 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 1:43 |

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

  • Profil został usunięty
    10 czerwca 2019, 5:42 |

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

    Например:

    заказ №3 13.04.2019 

    заказ №456 13.12.2199 

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

  • Igor Lyalchenko
    10 czerwca 2019, 8:13 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 8:38 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 8:38 |

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

  • Yevgeny C
    10 czerwca 2019, 1:45 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 1:53 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 2:07 |

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

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

  • Yevgeny C
    10 czerwca 2019, 2:50 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 8:09 |

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


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


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


  • Vyacheslav Azarov
    10 czerwca 2019, 6:27 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 8:10 |

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

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

  • Yevgeny C
    10 czerwca 2019, 9:42 |

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

  • Igor Lyalchenko
    10 czerwca 2019, 9:49 |

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

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

Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe

Potrzebny architekt Airtable do zbudowania schematu relacyjnego i nowej czystej bazy Airtable

Potrzebna pomoc w przemyśleniu i zbudowaniu czystiej schemy relacyjnej dla wewnętrznego systemu operacyjnego w Airtable. Obecna baza jest już używana przez zespół, ale rozwinęła się organicznie: struktura jest częściowo płaska, część tabel/widoków jest używana aktywnie, część…

Bazy danych i SQLAplikacje desktopowe ∙ 1 dzień temu ∙ 8 ofert

Tworzenie oprogramowania do generowania plików cięcia drewnianych puzzli

Szukamy programisty do stworzenia oprogramowania, które automatyzuje proces tworzenia plików cięcia dla drewnianych figurkowych puzzli. Aktualny proces Obecnie każdy plik jest tworzony ręcznie przez projektanta w Adobe Illustrator. Plik zawiera: zewnętrzny kontur puzzla o…

Aplikacje desktopowe ∙ 1 dzień 5 godzin temu ∙ 11 ofert

Mała poprawka na stronie

59 PLN

Trzeba zaktualizować umowę ofertową w stopce na nową, w firmie zmieniły się zasady Zadanie na 20 minut

Programowanie stron internetowychAplikacje desktopowe ∙ 2 dni 6 godzin temu ∙ 107 ofert

Narzędzie do porównywania rachunków z bankiem, kartami i księgowym

Zadanie techniczne: narzędzie do porównywania rachunków z bankiem, kartami i księgowymOgólny cel Potrzebne jest lokalne narzędzie (skrypt/mała aplikacja w Pythonie), które uruchamiane ręcznie co 1-2 miesiące na moim komputerze i dokonuje porównania między: Rachunkami, które…

PythonAplikacje desktopowe ∙ 4 dni 13 godzin temu ∙ 43 oferty

Dodać przerwy 10-30 sekund między wysyłkami e-maili

Witam! Szukam doświadczonego programisty 1C / BAS (BAF) do szybkiego rozwiązania problemu technicznego z wysyłką maili.Istota problemu: Używamy programu księgowego BAF (Business Automation Framework), edycja 2.0. Raz w miesiącu pojawia się potrzeba masowego wysyłania klientom…

Programowanie stron internetowychAplikacje desktopowe ∙ 10 dni 5 godzin temu ∙ 10 ofert

Zleceniodawca
Yevgeny Sergeyevich
Ukraina Kijów  1  0
Zlecenie zostało opublikowane
7 lat temu
159 wyświetleń