| 
 | 
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Привет всем! Задача следующая: имею массив - Task<BigInteger>[Environment.ProcessorCount] нужно перемножить все результаты. На данный момент это решается так: Код: c# 1. 2. 3. 4. 5. 6. Однако очевидно, что это не оптимальное решение, тк при получение первых двух результатов уже можно начать считать, не дожидаясь остальных. Так же очевидно(хотя проверил), если имеем планировщик в к-ом BigInteger Result { get; private set; } + lock (_lock){ Result *= task.Result; } это ещё медленнее(точнее практически столько же, как и без AsParallel()), чем выше. Заранее благодарю ВС ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 13:15 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 13:35 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  petalvik, тоже дольше, там просто действие разделено во времени, те не в конце, а по ходу исполнения, но временные затраты такие как у без AsParallel() ((( ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 13:45 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  v skopin Привет всем! Задача следующая: имею массив - Task<BigInteger>[Environment.ProcessorCount] нужно перемножить все результаты. На данный момент это решается так: Код: c# 1. 2. 3. 4. 5. 6. Однако очевидно, что это не оптимальное решение, тк при получение первых двух результатов уже можно начать считать, не дожидаясь остальных. Так же очевидно(хотя проверил), если имеем планировщик в к-ом BigInteger Result { get; private set; } + lock (_lock){ Result *= task.Result; } это ещё медленнее(точнее практически столько же, как и без AsParallel()), чем выше. Заранее благодарю ВС Я не уверен, тут зависит от данных, но вы больше ресурсов потратите на накладные операции. Интересная задача, я потестирую различные решения, какой у вас порядок количества чисел? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 13:52 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andromeda777, не знаю точно - пишу для родственника-физика ... что-то в космосе считает. Тестирую на 1000000! (факториал) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 14:07 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  v skopin, Если ты работаешь с числами, то может тебе будут полезны векторы ? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 14:31 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  v skopin Тестирую на 1000000! (факториал) Да и не влезет результат в BigInt, если хотя бы небольшая часть чисел будет больше 1 ) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 14:43 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro через сколько тысяч лет должен закончиться расчет? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 18:26 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Так как вы его считаете? Он же ни в память ни в диск не влезет. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.11.2021, 23:06 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton Так как вы его считаете? Ну, может он его по формуле Стирлинга считает. Хотя с памятью да, в любом случае будет затык. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.11.2021, 03:10 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  в 1млн! только число порядков несколько миллионов источника такого количества информации просто не существует Я думаю, что с ТС просто возникло какое-то недопонимание )) считается, что в известной наблюдаемой вселенной существует от 10 78  до 10 82  атомов ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.11.2021, 13:11 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Да. Если отбросить коэффициенты то по Стирлингу будет примерно  миллион в миллионной степени. Такие числа невозможно ни хранить ни перемножать. Всей планеты Земля не хватит на это. Наверное ТС страдает фигней. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.11.2021, 13:15 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Боюсь разочаровать уважаемых знатоков: не просто считает, но и выводит на экран На скане факториал 800000L - (долго работает ToString(), поэтому не 1 000 000), влезла в скан только часть последних нулей, размер шрифта 5))))) результаты вычислений 1000000L! на 8ми ядерном ноутбучном i5 10ого поколения получен за 00:03:10.1499570. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.11.2021, 03:45 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  проще же посмотреть, например тут:  Factorial Calculator n!  там нет возможности посчитать для 1000000, только для 999999 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.11.2021, 03:58 | 
  
  
  
   | 
||
| 
 
Как оптимизировать перемножние результатов массива задач? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  v skopin Боюсь разочаровать уважаемых знатоков: не просто считает, но и выводит на экран Andromeda777 какой у вас порядок количества чисел? v skopin Тестирую на 1000000! (факториал) это и вызвало недоумение ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.11.2021, 12:35 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=20&gotonew=1&tid=1398204]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    52ms | 
get topic data:  | 
    10ms | 
get first new msg:  | 
    8ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    52ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 231ms | 
| total: | 388ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.