Mais uma vez, sobre multithreading - página 6

 
dd:

por isso não se trata apenas do envio do mandado, há uma série de outros controlos a serem feitos. Mas todas elas estão enfileiradas até que uma função termine, a outra não é executada ....

Descrevi-o nos termos do problema. E é uma tarefa complexa. DLL ou chats ou o que quer que seja - o que me interessa é o cenário em que posso paralelizar estas tarefas e continuar a correr no testador para compreender a situação ...

Deve decidir se veio pela luz, ou para dizer a todos o que deve funcionar e como deve funcionar.

Não tenho qualquer desejo de continuar a resolver o seu problema, sabe melhor o que deve ser feito e como deve ser feito.

Boa sorte!

 
Andrey Khatimlianskii:

Tem de decidir se está aqui para a luz ou para dizer a todos o que deve funcionar e como deve funcionar.

Não tenho qualquer desejo de continuar a resolver o seu problema; sabe melhor o que precisa de ser feito e como fazê-lo.

Boa sorte!

não foi oferecido nenhum conselho prático sobre os termos do problema. Boa noite também para si...
 
Andrey Khatimlianskii:

Tem de decidir se está aqui para a luz ou para dizer a todos o que deve funcionar e como deve funcionar.

Não tenho qualquer desejo de continuar a resolver o seu problema; sabe melhor o que precisa de ser feito e como fazê-lo.

Boa sorte!

minha querida querida, minha bela luz do sol, já leu o problema? está claramente descrito ali - no laço, além da ordem de envio num segundo, muitas outras tarefas têm de ser feitas - por exemplo, fechar 500 000 ordens ou não fechar - verificar ... 0,1 lote, 50 000 depósito, é bom com matemática? E sim, é sintético. Mas os seus conselhos são inúteis.
 
dd:

Demoro 5 dias a executar esta estratégia no testador com 24 núcleos à minha disposição. E apenas um núcleo funciona. Para não mencionar o facto de que o tronco, ninguém precisa de um tronco estúpido para esse tempo pode ficar inchado num par de terabytes. E tudo isto sem optimizações. E este registo estúpido não pode ser desactivado de forma alguma ...

Como pensa que se eu acelerar o processo diga - 4 horários, cada um no seu núcleo - um aumento neste ponto 4 vezes. Mais um processo separado para fechar 1000 ofícios, digamos, ou quebrar este processo para 5 ou 10 fios - um aumento de 10x. Mais um processo separado para a abertura de posições por sinais ...

Penso que múltiplas e vezes ...

Mas cada milissegundo + atraso ao corretor + atraso do corretor à troca (se não for uma cozinha) é uma enorme perda. É estranho que isto não seja compreendido na Sibéria...

Um passe no testador em 5 dias? Este é um caso excepcional))

 
Dmitry Fedoseev:

Um passe no testador em cinco dias? Este é um caso excepcional))

bem, quando se tem uma troca e se espera cinco minutos nada pendente ... mas quando há milhares deles por segundo, nada de excepcional :)
 
dd:
Bem, quando há uma transacção e esperamos cinco minutos por nada pendente ... mas quando há milhares deles por segundo, nada de notável :)

Optimização de execução, pelo menos 24 passes e todos os núcleos estarão ocupados. Portanto, não vale a pena fazer paralelismo com nada numa única passagem.

 
Dmitry Fedoseev:

Optimização de execução, pelo menos 24 passes e todos os núcleos estarão ocupados. Portanto, não vale a pena fazer paralelismo com nada numa única passagem.

Está a confundir o frio com o quente. Começarei a optimização quando precisar dela. Neste momento quero conseguir uma execução óptima do código com a actual EA, que tem um monte de acções a cada segundo. Não confundir paralelismo em "optimização" e paralelismo numa única EA ... Estas são duas grandes diferenças. Está sempre a tentar dizer que pode executar um e o mesmo guião em paralelo ... Não estou a discutir com isso e ninguém está a discutir com isso. Este tópico é sobre outra coisa - como usar vários núcleos na execução de um guião.
 
dd:
Este tópico é sobre outra coisa - como usar vários núcleos na execução de um único guião.
O código já deve ter sido escrito para usar vários fios! Não há outra forma.
 
Aliaksandr Hryshyn:
O código já deve ser escrito para usar vários fios!
Sem dúvida, e eu estou a pedir um cutucão no nariz para saber como fazê-lo. Mas depois de ler, e não apenas este fio, apercebi-me de que não é assim tão simples. Descrevi a minha tarefa tão claramente quanto possível - e gostaria de ouvir a receita.
 
dd:
sem perguntas, e eu estou a pedir um cutucão sobre como o fazer. Mas depois de ler, e não apenas este fio, apercebi-me de que não é assim tão simples. Descrevi a minha tarefa tão claramente quanto possível - e gostaria de ouvir a receita.
Pode haver receitas diferentes, o ideal, de acordo com a redacção do problema, é a utilização de dll com os seus cálculos de escrita nos indicadores. Mas isto é complicado e não vale a pena... Mas é preciso saber exactamente que tipo de código se tem aí.