এক মিনিট অপেক্ষা করুন - দশ সেকেন্ডেরও কম সময়ে


69

কার্য

যে কোনও ধরণের সমান্তরাল ব্যবহার করে, কমপক্ষে এক মিনিটের মোট ঘুমের জন্য (তবে দেড় মিনিটেরও কম) একাধিক সময়ের জন্য অপেক্ষা করুন।

প্রোগ্রাম / ফাংশনটি 10 ​​সেকেন্ডের মধ্যে শেষ হতে হবে এবং (কোনও উপায়ে এবং যে কোনও বিন্যাসে) দুটি মান ফিরে আসতে হবে: মোট সময় অতিবাহিত সময় এবং মোট নির্ধারিত ঘুমের সময়। উভয় সময়ের মানগুলির কমপক্ষে 0.1 সেকেন্ডের নির্ভুলতা থাকতে হবে।

এটি মানব-সময়ের ধারণার অনুরূপ : একটি কাজ যা 60 ঘন্টা সময় নেয় কেবলমাত্র 6 ঘন্টা মধ্যে 10 টি কর্ম বিভক্ত হয়ে গেলে তা সম্পন্ন করা যায়। এখানে আমাদের ঘুমের সময় 60 সেকেন্ড থাকতে পারে যেমন 10 সমান্তরাল থ্রেডগুলিতে, সুতরাং পুরো কাজটি শেষ করার জন্য কেবলমাত্র 6 সেকেন্ডের প্রয়োজন।

উদাহরণ

মাইপ্রগ্রাম প্রোগ্রামটি 14 টি থ্রেড তৈরি করে, প্রতিটি থ্রেড 5 সেকেন্ডের জন্য ঘুমায়:

MyProgram[5.016,70.105]

মৃত্যুর সময়টি 5 সেকেন্ডের বেশি এবং ওভারহেডের কারণে মোট ঘুমের সময় 70 সেকেন্ডের বেশি।


2
আমি প্রশ্নটি বেশ কয়েকবার পড়েছি এবং এটি পাই না। আপনি কি কিছুটা পরিষ্কার করতে পারেন? "10 সেকেন্ড" এবং "70 সেকেন্ড" এর বিলম্ব কেন? কিভাবে এই সমস্ত সময় সম্পর্কিত হয়?
লুইস মেন্ডো

3
আমরা ধরে নিতে পারি যে কতগুলি থ্রেড সমান্তরালে কার্যকর করা হবে?
মাইল

3
আউটপুট সময় জন্য কি নির্ভুলতা প্রয়োজন?
edc65

20
আমি আশ্চর্য হই যে এটি যদি সমস্ত গল্ফিং ভাষার লেখককে তাদের সৃষ্টিতে মাল্টি-থ্রেডিং যুক্ত করার জন্য পাগল ড্যাশগুলিতে জড়িত করে
তোলে

3
@ ননওআইনি এখানে আহ, ভাল, একটি সঠিকভাবে প্রয়োগ করা ঘুম পদ্ধতির কোনও কোরকে ব্যস্ত করা উচিত নয়, সুতরাং থ্রেডের সংখ্যা (ভার্চুয়াল) প্রসেসরের সংখ্যা ছাড়িয়ে যেতে পারে।
অ্যাডম

উত্তর:


15

ডায়ালগ এপিএল, 65 27 23 21 বাইট

(⌈/,+/)⎕TSYNC⎕DL&¨9/7

অর্থাৎ,

      (⌈/,+/)⎕TSYNC⎕DL&¨9/7
7.022 63.162

ব্যাখ্যা:

  • ⎕DL&¨9/7: 9 টি থ্রেড স্পিন করুন, যার প্রত্যেকটি 7 সেকেন্ডের জন্য অপেক্ষা করে। ⎕DLঅপেক্ষা করার জন্য ব্যয় করা প্রকৃত পরিমাণের সেকেন্ডে, যা তার যুক্তিটি কয়েক মিলি সেকেন্ডে দেয় বা গ্রহণ হিসাবে একই হবে returns
  • ⎕TSYNC: সমস্ত থ্রেড সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন এবং প্রতিটি থ্রেডের জন্য ফলাফল পান।
  • (⌈/,+/): একক থ্রেডের দীর্ঘতম নির্বাহের সময়টি ফিরিয়ে দিন (কার্যকর করার সময় অন্যান্য থ্রেডগুলি শেষ হয়ে গেছে, সুতরাং এটি আসল রানটাইম), তারপরে সমস্ত থ্রেডের সম্পাদন সময়ের যোগফল।

এটি অনলাইন চেষ্টা করুন!


23:59:57 এ কার্যকর করা হলে এটি কাজ করবে না। তবে আপনি সঠিক পথে রয়েছেন ... আপনি ইতিমধ্যে স্বল্পতম অবস্থানে থাকলেও আপনি আরও 40 বাইট গল্ফ করতে পারেন?
অ্যাডম

1
@ অ্যাডেম: না, তবে আমি 38 বাইট গল্ফ করতে পারি। এটি বেশ সুস্পষ্ট, আমি কেন জানি না কেন আমি প্রথমবারের মতো এটি ভাবিনি।
মেরিনাস

এই নাও. আপনি চেকমার্ক না পাওয়া পর্যন্ত কেবল আরও 6 বাইট। আপনাকে যে তিনটি জিনিস করতে হবে তা যথাযথভাবে সুস্পষ্ট, যথাক্রমে 1, 2 এবং 3 বাইট সাশ্রয় করবে।
অ্যাডম

খুব সুন্দর, আপনি নম্বর 1 এবং 3 নম্বর পেয়েছেন। সংখ্যা 2 সত্যিই গল্ফ হয় না, যতটা বাস্তবায়নের বিকল্প হিসাবে ...
অ্যাডাম

সংখ্যা 2: আপনার যেমন যুক্তিগুলির প্রয়োজন নেই, কেবল এটি একটি টিএফএন বডি করুন।
অ্যাডম

18

পাইথন 2, 172 বাইট

import threading as H,time as T
m=T.time
z=H.Thread
s=m()
r=[]
def f():n=m();T.sleep(9);f.t+=m()-n
f.t=0
exec"r+=[z(None,f)];r[-1].start();"*8
map(z.join,r)
print m()-s,f.t

সঠিকভাবে কাজ করতে এটির জন্য 1 সেকেন্ডের চেয়ে বেশি সময়ের নির্ভুলতার সাথে একটি ওএসের প্রয়োজন (অন্য কথায়, যে কোনও আধুনিক ওএস)। 8 টি থ্রেড তৈরি করা হয় যা প্রতিটি 9 সেকেন্ডের জন্য ঘুমায়, যার ফলে রিয়েলটাইম time 9 সেকেন্ডের রানটাইম এবং ralle 72 সেকেন্ডের সমান্তরাল রানটাইম তৈরি হবে।

যদিও অফিসিয়াল ডকুমেন্টেশন বলে যে Threadকনস্ট্রাক্টরকে মূলশব্দ যুক্তি দিয়ে ডাকা উচিত, তবে আমি বাতাসের প্রতি সাবধানতা রেখেছি এবং যাইহোক অবস্থানগত যুক্তি ব্যবহার করি। প্রথম যুক্তি ( group) অবশ্যই হবে Noneএবং দ্বিতীয় যুক্তিটি হ'ল লক্ষ্য ফাংশন।

নিনিও মন্তব্যগুলিতে উল্লেখ করেছেন যে অ্যাট্রিবিউট অ্যাক্সেস (উদাহরণস্বরূপ f.t) তালিকা সূচক অ্যাক্সেসের চেয়ে কম (যেমন t[0])। দুর্ভাগ্যক্রমে, বেশিরভাগ ক্ষেত্রে, এটি করা থেকে প্রাপ্ত কয়েকটি বাইটগুলি এমন একটি বস্তু তৈরির প্রয়োজনের দ্বারা হারিয়ে যাবে যা ব্যবহারকারীর দ্বারা সংজ্ঞায়িত বৈশিষ্ট্যগুলি রানটাইমে তৈরি করতে দেয়। সৌভাগ্য যে, ফাংশন রানটাইম এ ব্যবহারকারী-সংজ্ঞায়িত বৈশিষ্ট্যাবলী সমর্থন, তাই আমি মোট সময় সংরক্ষণ করে এই কাজে লাগান tঅ্যাট্রিবিউট f

এটি অনলাইনে চেষ্টা করুন

execকৌতুক সহ ডেনকারআফিকে -5 বাইটের জন্য ধন্যবাদ ।

থ্রেড আর্গুমেন্ট অপ্রয়োজনীয় তা নির্দেশ করে কুন্ডার -7 বাইটের জন্য ধন্যবাদ।

বিবিধ উন্নতি থেকে -7 বাইট জন্য nneonneo ধন্যবাদ।


আপনি দুটি বাইট বাঁচাতে পারবেন এবং যুক্তিটি f()শেষ করে দুটি যুক্তি Thread(যাতে characters টি অক্ষর মুছে ফেলা হয়) এবং t.append(m()-n)স্থানীয় ভেরিয়েবল বরাদ্দ করা এড়ানোর জন্য tব্যবহার করুন (এর চেয়ে আরও পাঁচটি অক্ষর ব্যবহার করে +=)
নিক মাত্তিও

আর তুমি সময়ের একটি তালিকা পরিবর্তে সমষ্টি রেখে আরও পাঁচ সংরক্ষণ করতে পারেন: আরম্ভ tসঙ্গে t=[0]দ্বারা পরিশেষে যোগ প্রতিস্থাপন t[0]+=m()-n, এবং প্রতিস্থাপন sum(t)দ্বারা t[0]
নিক মাত্তিও

থ্রেডের নাম বাদ দেওয়া যেতে পারে।
পিপ্পারি

@ পিপ্পেরি: আপনার যদি পরবর্তী অবস্থানগত যুক্তিগুলি ব্যবহার করার প্রয়োজন না হয় (তবে আমি পূর্ববর্তী মন্তব্যে যেমন উল্লেখ করেছি, আপনি আসলে সেগুলিকেই অনুগ্রহ করতে পারেন।)
নিক মাত্তিও

ব্যবহার করে তিনটি বাইট সংরক্ষণ করুন import threading as H,time as t; ব্যবহার করে আরও দুটি বাইট সংরক্ষণ করুন z=H.Threadএবং map(z.join,r); মোট সময়কে একটি অ্যাট্রিবিউট (উদাহরণস্বরূপ T.z+=m()-n) হিসাবে
স্ট্যাশ

11

বাশ + জিএনইউ ইউটিলিটিস, 85

\time -f%e bash -c 'for i in {1..8};{ \time -aoj -f%e sleep 8&};wait'
paste -sd+ j|bc

timeএকটি দিয়ে উপসর্গ করে শেল বিল্টিনের পরিবর্তে এক্সিকিউটেবলের ব্যবহারকে জোর করে \

কোনও ফাইলে সংযোজন হয় j, যা অবশ্যই শুরুর ফাঁকা বা অস্তিত্বহীন।


কাঁটাচামচ স্ক্রিপ্টের মতো কী; if [ $1 -lt 9 ];then { ./a $(( $1 + 1 )) &};sleep 7;fiনা সামসুচ? এটি কি নিয়মের বিরুদ্ধে হবে, বা এমন কিছু যা আমি অনুমান সম্পর্কে বুঝতে পারি না? [সম্পাদনা; আমি আউটপুট জন্য প্রয়োজনীয়তা মিস করেছি। ওহ, এটি আকর্ষণীয় করে তোলে!]
দেবী মরগান

1
@ দেবীমোরগান হ্যাঁ, আউটপুট প্রয়োজনীয়তা এটিকে কিছুটা শক্ত করে তোলে। আপনি যা পরামর্শ দেন তা এমন কিছুতে গল্ফ করা যেতে পারে(($1<9))&&$0 $[$1+1]&sleep 7
ডিজিটাল ট্রমা

9

যান - 189 বাইট

ধন্যবাদ @ বিড়াল!

package main
import(."fmt";."time");var m,t=60001,make(chan int,m);func main(){s:=Now();for i:=0;i<m;i++{go func(){Sleep(Millisecond);t<-0}()};c:=0;for i:=0;i<m;i++{c++};Print(Since(s),c)}

আউটপুট (এমএস): 160.9939ms, 60001 (160 মিমি অপেক্ষা করতে হবে 60.001 সেকেন্ড)


1
হ্যালো, এবং পিপিসিজিতে আপনাকে স্বাগতম! এই মন্তব্যটি, এর @Rob In some languages the obvious solution is already (close to) the shortest. Besides, one way to view code-golf challenges is finding the shortest solution in EACH language. Otherwise Jelly will win most of the time... So: go ahead.অর্থ এই নয় যে আপনি নিজের উত্তরটি গল্ফ করার চেষ্টা করবেন না , তবে এটি জিততে না পারলে এটি ঠিক। আপনি দয়া করে একটি গল্ফযুক্ত সমাধান যুক্ত করতে পারেন?
নন ইনিহির

আমি দুঃখিত, আমি কেবল আপনার সম্পাদনাটি পড়েছি। গল্ফযুক্তদের জন্য, আপনি সম্ভবত নিউলাইন এবং স্পেসগুলি সরিয়ে ফেলতে পারেন, বা এর totমতো কিছুতে পরিবর্তন করতে পারেন q
নন ইনিহির

@ নন আইইনহিরে, এর জন্য ধন্যবাদ, আমি সেই পরিবর্তনশীলটিকে সম্পূর্ণ উপেক্ষা করেছি! পাশাপাশি মি এবং মি।
রব

1
codebeautify.org/javaviewer - অল্প করা ক্লিক
বিড়াল


8

বাশ 196 117 114 93 বাইট

@ মানাটওয়ার্ক এবং @ ডিজিটাল ট্রমা থেকে কিছু অন্যান্য স্থান অপ্টিমাইজেশনের পরামর্শগুলি সমন্বিত করে আরও ভাল সময়ের নির্ভুলতার জন্য আপডেট হয়েছে:

d()(date +$1%s.%N;)
b=`d`
for i in {1..8};{ (d -;sleep 8;d +)>>j&}
wait
bc<<<`d`-$b
bc<<<`<j`

নোট করুন যে এটি ধরে নেয় jফাইলটি শুরুতে অনুপস্থিত।


2
function ss(), b=`date +%s`b=$SECONDS, expr $t + $i$[t+i], `cat j`$(<j)এবং সাধারণত এটিতে কীভাবে এটি হ্রাস করা যায় সে সম্পর্কে বাশে গল্ফ করার
টিপসগুলি দেখুন

এটিকে আরও কমাতে, সরাসরি জে ফাইলটিতে একটি সূত্র লিখুন। 5↵5↵5↵…লেখার পরিবর্তে আমার অর্থ +5+5+5…- তারপরে
এগুলি

হিসাবে ন্যূনতম স্পষ্টতা পরে উল্লিখিত হয়ে থাকে, ভুলবেন b=`date +%s`b=$SECONDSপরামর্শ।
manatwork

1
যেমন bashকেবল পূর্ণসংখ্যার গাণিতিক হয়, গণনা করার জন্য একটি বহিরাগত সরঞ্জাম ব্যবহার করার জন্য পুরো সমাধানটি আবার লিখতে হবে। সাধারণত bc: পেস্টবিন.
com

1
@ জুলিপেলিটিয়ার ওকে, আমি এটি আমার নিজের উত্তর হিসাবে পোস্ট করব। তবুও, আমি মনে করি আপনি এখনও কোনও উত্তরকে উল্লেখযোগ্যভাবে পরিবর্তন না করে গল্ফিংয়ের কিছু কৌশল প্রয়োগ করতে পারেন: পেস্টবিন.এস.এসইজেভিএসএন ( by৩ বাইট)
ডিজিটাল ট্রমা

8

জাভাস্ক্রিপ্ট (ES6), 148 বাইট

with(performance)Promise.all([...Array(9)].map(_=>new Promise(r=>setTimeout(_=>r(t+=now()),7e3,t-=now())),t=0,n=now())).then(_=>alert([now()-n,t]));

মোট 63৩ সেকেন্ডের জন্য times বার অপেক্ষা করার প্রতিশ্রুতি দেয় (আসলে আমি যখন চেষ্টা করি 63৩.৪৩) তবে আমি যখন চেষ্টা করি তখনই বাস্তব সময় লাগে 7.০৫ সেকেন্ড।


8

সি, 127 বাইট (স্পিনস সিপিইউ)

এই সমাধানটি ঘুমের পরিবর্তে সিপিইউকে স্পিন করে এবং timesপসিক্স ফাংশনটি ব্যবহার করে সময় গণনা করে (যা প্যারেন্ট প্রসেস দ্বারা এবং সমস্ত শিশুদের জন্য অপেক্ষা করা সিপিইউ সময় পরিমাপ করে)।

এটি processes টি প্রক্রিয়া বন্ধ করে দেয় যা প্রায় 9 সেকেন্ড স্পিন করে এবং সি ক্লকগুলিতে চূড়ান্ত সময়গুলি প্রিন্ট করে (বেশিরভাগ সিস্টেমে 100 টি ক্লক টিকস = 1 সেকেন্ড)।

t;v[4];main(){fork(fork(fork(t=time(0))));while(time(0)<=t+9);wait(0);wait(0);wait(0)>0&&(times(v),printf("%d,%d",v[0],v[2]));}

নমুনা আউটপুট:

906,6347

মানে 9.06 সেকেন্ড আসল সময় এবং 63.47 সেকেন্ড মোট সিপিইউ সময়।

সেরা ফলাফলের জন্য, -std=c90 -m32(একটি 64-বিট মেশিনে 32-বিট কোড জোর করে) দিয়ে সংকলন করুন।


5

পাওয়ারশেল ভি 4, 144 বাইট

$d=date;gjb|rjb
1..20|%{sajb{$x=date;sleep 3;((date)-$x).Ticks/1e7}>$null}
while(gjb -s "Running"){}(gjb|rcjb)-join'+'|iex
((date)-$d).Ticks/1e7

এর $dসমান সেট করে Get-Dateএবং এর সাথে বিদ্যমান যে কোনও কাজের ইতিহাসকে সাফ করে দেয় Get-Job | Remove-Job। তারপরে আমরা লুপ করি 1..20|%{...}এবং প্রতিটি পুনরাবৃত্তি Start-Jobএটি {$x=date;sleep 3;((date)-$x).ticks/1e7}কাজের জন্য স্ক্রিপ্ট ব্লকটি পাস করে চালিত করে (যার অর্থ প্রতিটি কাজ script স্ক্রিপ্ট ব্লকটি কার্যকর করে)। ফিরে >$nullআসা প্রতিক্রিয়াগুলি (যেমন, কাজের নাম, স্থিতি ইত্যাদি) দমন করার জন্য আমরা সেই আউটপুটটি পাইপ করি ।

স্ক্রিপ্ট ব্লকটি সেট $xহয় Get-Date, তারপরে সেকেন্ডের Start-Sleepজন্য 3, তারপরে একটি নতুন Get-Dateপঠন লাগে , বিয়োগ করে $x, পায় .Ticks, এবং 1e7সেকেন্ডগুলি পেতে (স্পষ্টতা সহ) ভাগ করে ।

মূল থ্রেডে ফিরে আসা, যতক্ষণ না কোনও কাজ এখনও -Sতাতাস থাকে "Running", আমরা খালি whileলুপের ভিতরে স্পিন করি । এটি শেষ হয়ে গেলে, আমরা Get-Jobবিদ্যমান সমস্ত কাজের জন্য অবজেক্ট টানতে পারি Receive-Job, এসপিডিউটের সমতুল্য (যেমন, তারা কী আউটপুট দেয়) সমেত টানবে এমন পাইপ, -joinফলাফলগুলি একসাথে +, এবং এটিতে পাইপ iex( Invoke-Expressionএবং অনুরূপ eval)। এটি ফলাফলের ঘুমের সময় ওভারহেড আউটপুট দেবে।

চূড়ান্ত লাইনটি একই রকম, এটি একটি নতুন তারিখ পায়, মূল তারিখের স্ট্যাম্পটি বিয়োগ করে $d, পায় .Ticks, এবং 1e7নির্বাহের মোট সময়কে ভাগ করে দেয়।


বিশেষ দ্রষ্টব্য

ঠিক আছে, সুতরাং এটি নিয়মগুলির সামান্য বাঁকানো । স্পষ্টতই প্রথম সম্পাদনের সময়, পাওয়ারশেলকে বিভিন্ন থ্রেড ক্রিয়াকলাপের জন্য ডিস্ক থেকে .NET অ্যাসেম্বলিগুলির একটি গুচ্ছ লোড করতে হবে কারণ সেগুলি ডিফল্ট শেল প্রোফাইলের সাথে লোড হয় না। পরবর্তী মৃত্যুদণ্ড কার্যকর করা, কারণ সমাবেশগুলি ইতিমধ্যে স্মৃতিতে রয়েছে, ঠিক আছে। যদি আপনি শেল উইন্ডোটি দীর্ঘসময় অলসভাবে ফেলে রাখেন, আপনি পাওয়ারশেলের অন্তর্নির্মিত আবর্জনা সংগ্রহ বরাবর আসবেন এবং সেগুলি অ্যাসেমসিলগুলি আনলোড করুন , পরবর্তী ক্রিয়াকলাপটি পুনরায় লোড হওয়ার সাথে সাথে পরবর্তী কার্যনির্বাহীটিকে দীর্ঘ সময় দিতে হবে। আমি এই কাছাকাছি উপায় সম্পর্কে নিশ্চিত নই।

আপনি এটি নীচের রানগুলিতে কার্যকর সময়ে দেখতে পাবেন। আমি একটি নতুন শেল শুরু করেছি, আমার গল্ফ ডিরেক্টরিতে নেভিগেট করেছি এবং স্ক্রিপ্টটি সম্পাদন করেছি। প্রথম রানটি ভয়াবহ ছিল, তবে দ্বিতীয়টি (অবিলম্বে মৃত্যুদন্ড কার্যকর করা) ভাল কাজ করেছিল। আমি আবর্জনা সংগ্রহের জন্য কয়েক মিনিটের জন্য শেল নিষ্ক্রিয় রেখে দিয়েছিলাম এবং তারপরে সেই রান আবার দীর্ঘ হয় তবে পরবর্তী রানগুলি আবার ঠিকঠাক কাজ করে।

উদাহরণ রান

Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS H:\> c:

PS C:\> cd C:\Tools\Scripts\golfing

PS C:\Tools\Scripts\golfing> .\wait-a-minute.ps1
63.232359
67.8403415

PS C:\Tools\Scripts\golfing> .\wait-a-minute.ps1
61.0809705
8.8991164

PS C:\Tools\Scripts\golfing> .\wait-a-minute.ps1
62.5791712
67.3228933

PS C:\Tools\Scripts\golfing> .\wait-a-minute.ps1
61.1303589
8.5939405

PS C:\Tools\Scripts\golfing> .\wait-a-minute.ps1
61.3210352
8.6386886

PS C:\Tools\Scripts\golfing>

1
আমি বলব যে ঠিক আছে। :-)
এডম

5

জাভাস্ক্রিপ্ট (ES6), 212 203 145 বাইট

এই কোডটি লোডিংয়ের পরে প্রতিটি ঠিক 6 সেকেন্ডের সময়ের ব্যবধান সহ 10 টি চিত্র তৈরি করে।

মৃত্যুদন্ড কার্যকর করার সময়টি এর চেয়ে সামান্য উপরে যায় (ওভারহেডের কারণে)।

এই কোডটি ডকুমেন্টের সমস্ত কিছু ওভাররাইট করে!

P=performance,M=P.now(T=Y=0),document.body.innerHTML='<img src=# onerror=setTimeout(`T+=P.now()-M,--i||alert([P.now()-M,T])`,6e3) >'.repeat(i=10)

এটি ধরে নিয়েছে যে আপনি ব্যাকটিক্সের জন্য একটি একক-বাইট এনকোডিং ব্যবহার করেছেন, যা জাভাস্ক্রিপ্ট ইঞ্জিনের ট্রিপ না করার জন্য প্রয়োজনীয়।


বিকল্পভাবে, আপনি যদি 6 সেকেন্ড অপেক্ষা করতে না চান, তবে এখানে একটি 1 বাইট-দীর্ঘ সমাধান যা সেকেন্ডেরও কম সময়ে শেষ হয়:

P=performance,M=P.now(T=Y=0),document.body.innerHTML='<img src=# onerror=setTimeout(`T+=P.now()-M,--i||alert([P.now()-M,T])`,600) >'.repeat(i=100)

পার্থক্যটি হল এই কোডটি 100 টি চিত্র জুড়ে 600 মিমি অপেক্ষা করে। এটি ওভারহেডের বিশাল পরিমাণ দেবে।


পুরানো সংস্করণ (203 বাইট):

এই কোডটি 10 ​​টি চিত্র তৈরির পরিবর্তে প্রতিটি ঠিক 6 সেকেন্ডের সময়ের ব্যবধান সহ 10 টি iframes তৈরি করে।

for(P=performance,M=P.now(T=Y=i=0),D=document,X=_=>{T+=_,--i||alert([P.now()-M,T])};i<10;i++)I=D.createElement`iframe`,I.src='javascript:setTimeout(_=>top.X(performance.now()),6e3)',D.body.appendChild(I)


আসল সংস্করণ (212 বাইট):

P=performance,M=P.now(T=Y=0),D=document,X=_=>{T+=_,Y++>8&&alert([P.now()-M,T])},[...''+1e9].map(_=>{I=D.createElement`iframe`,I.src='javascript:setTimeout(_=>top.X(performance.now()),6e3)',D.body.appendChild(I)})


2
+1 খুব সুন্দর এবং ভিন্ন পদ্ধতির। একক থ্রেডেড ব্রাউজারে কী হবে?
অ্যাডম

2
@ অ্যাডম আচরণে কোনও পরিবর্তন নেই। এখনও প্রায় 6 সেকেন্ডের বিলম্ব হতে পারে। ফায়ারফক্স (একক থ্রেডেড ব্রাউজার) কখনও কখনও 59999 এর কার্যকর সময় হিসাবে মজার জিনিস আউটপুট দেয় <
ইসমাইল মিগুয়েল

4

রুবি, 92

n=->{Time.now}
t=n[]
a=0
(0..9).map{Thread.new{b=n[];sleep 6;a+=n[]-b}}.map &:join
p n[]-t,a

4

জাভাস্ক্রিপ্ট (ES6), 108 92 বাইট

আমি কিছুটা নতুন উত্তর দিচ্ছি যেহেতু এটি কিছুটা আলাদা অ্যাপ্রোচ ব্যবহার করে।

এটি প্রচুর পরিমাণে setTimeoutগুলি জেনারেট করে যা প্রায় সবগুলিই তাদের মধ্যে 4 এমএস দিয়ে কার্যকর করা হয়।

প্রতিটি ব্যবধানটি মোট ৯৯ টি বিরতিতে 10১০ মিলিসেকেন্ডের হয়।

M=(N=Date.now)(T=Y=0),eval('setTimeout("T+=N()-M,--i||alert([N()-M,T])",610);'.repeat(i=99))

এটি প্রায় 60.5 সেকেন্ডের মোট নির্বাহ সময়ের জন্য 610 মাইলের মধ্যে চলে।

এটি গুগল ক্রোম সংস্করণ 51.0.2704.84 মিটার উইন্ডোজ 8.1 x64 এ পরীক্ষা করা হয়েছিল।


পুরানো সংস্করণ (108 বাইট):

P=performance,M=P.now(T=Y=0),eval('setTimeout("T+=P.now()-M,--i||alert([P.now()-M,T])",610);'.repeat(i=99))


4

স্ক্র্যাচ - 164 বাইট (16 ব্লক)

when gf clicked
set[t v]to[
repeat(9
  create clone of[s v
end
wait until<(t)>[60
say(join(join(t)[ ])(timer
when I start as a clone
wait(8)secs
change[t v]by(timer

ভিজ্যুয়াল স্ক্রিপ্ট

এটি এখানে কর্মে দেখুন ।

'T' নামক একটি ভেরিয়েবল এবং 'এস' নামে একটি স্প্রিট ব্যবহার করে। স্প্রাইটটি নিজের ক্লোন তৈরি করে, যার প্রতিটি 8 সেকেন্ড অপেক্ষা করে এবং পুরো ওয়েট টাইমের ক্লকিংয়ে একটি পরিবর্তনশীল বৃদ্ধি করে। শেষে এটি মোট প্রয়োগের সময় এবং মোট অপেক্ষার সময় (উদাহরণস্বরূপ 65.488 8.302) বলে।


4

Clojure, 135 120 111 109 বাইট

(let[t #(System/nanoTime)s(t)f #(-(t)%)][(apply +(pmap #(let[s(t)](Thread/sleep 7e3)%(f s))(range 9)))(f s)])

নামযুক্ত ভেরিয়েবলগুলির সাথে ফর্ম্যাট সংস্করণ:

(let [time #(System/currentTimeMillis)
      start (time)
      fmt #(- (time) %)]
  [(apply +
           (pmap #(let [thread-start (time)]
                   (Thread/sleep 7e3)
                   %
                   (fmt thread-start)) (range 9)))
   (fmt start)])

আউটপুট (ন্যানোসেকেন্ডে):

[62999772966 7001137032]

পরিবর্তিত ফর্ম্যাট। ধন্যবাদ অ্যাডাম, আমি যখন এটি পড়ি তখন প্রশ্নটিতে সেই ফর্ম্যাট স্পেসিফিকেশনটি আমি মিস করেছি।

গল্ফিংয়ের দক্ষতার জন্য ন্যানোটাইমে পরিবর্তন করা হয়েছে।

ধন্যবাদ ক্লিফ্রুট, আমি সম্পূর্ণরূপে বৈজ্ঞানিক স্বরলিপি সম্পর্কে ভুলে গিয়েছি এবং বিশ্বাস করতে পারি না যে আমি দেখিনি apply। আমার মনে হয় আমি গতকাল এমন কিছু ব্যবহার করেছি যা আমি গতকাল গল্ফ করছিলাম তবে কখনও পোস্ট করিনি। আপনি আমাকে 2 বাইট সংরক্ষণ করেছেন।


পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট! আউটপুট ফর্ম্যাট সম্পর্কে আপনি ওপিকে জিজ্ঞাসা করতে সক্ষম হতে পারেন।
আর

রিভার্স করার দরকার নেই। ওপি: যে কোনও উপায়ে এবং যে কোনও বিন্যাসে
অ্যাডম

দেখে মনে হচ্ছে আপনি ব্যবহার করতে পারেন 7e3পরিবর্তে 7000এবং ব্যবহার applyপরিবর্তেreduce
cliffroot

3

মরিচা, 257 , 247 বাইট

আমি মেগোর পাইথন উত্তর হিসাবে একই সময় ব্যবহার।

সত্যিই কেবল সামান্য চালাক বিট ii ব্যবহার করছে 0 সেকেন্ডের সময়কাল পেতে।

fn main(){let n=std::time::Instant::now;let i=n();let h:Vec<_>=(0..8).map(|_|std::thread::spawn(move||{let i=n();std::thread::sleep_ms(9000);i.elapsed()})).collect();let mut t=i-i;for x in h{t+=x.join().unwrap();}print!("{:?}{:?}",t,i.elapsed());}

ছাপে:

Duration { secs: 71, nanos: 995877193 }Duration { secs: 9, nanos: 774491 }

Ungolfed:

fn main(){
    let n = std::time::Instant::now;
    let i = n();
    let h :Vec<_> =
        (0..8).map(|_|
            std::thread::spawn(
                move||{
                    let i = n();
                    std::thread::sleep_ms(9000);
                    i.elapsed()
                }
            )
        ).collect();
    let mut t=i-i;
    for x in h{
        t+=x.join().unwrap();
    }
    print!("{:?}{:?}",t,i.elapsed());
}

সম্পাদনা করুন: লুপের জন্য ভাল পুরানো কিছুটা খাটো


3

জাভাস্ক্রিপ্ট (ES6, ওয়েব ওয়ার্কার্স ব্যবহার করে), 233 215 বাইট

c=s=0;d=new Date();for(i=14;i-->0;)(new Worker(URL.createObjectURL(new Blob(['a=new Date();setTimeout(()=>postMessage(new Date()-a),5e3)'])))).onmessage=m=>{s+=m.data;if(++c>13)console.log((new Date()-d)/1e3,s/1e3)}

ইউপিডি: ক্রস-অরিজিন নীতিগুলির দিক থেকে আরও কমপ্যাক্ট এবং ক্রস-ব্রাউজারের সাথে স্ট্রিং থেকে একজন শ্রমিককে যেভাবে মৃত্যুদণ্ড কার্যকর করা হয়েছিল তার জায়গায় প্রতিস্থাপন করা হয়েছে। সাফারি তে কাজ করবে না, যদি এরপরেও এর webkitURLপরিবর্তে URLএবং আই-তে বস্তু থাকে ।


1
আমি এটি চালানোর সময় আমি একটি ত্রুটি পাচ্ছি:{ "message": "Uncaught SecurityError: Failed to construct 'Worker': Script at 'data:application/javascript,a%3Dnew%20Date()%3BsetTimeout(()%3D%3EpostMessage(new%20Date()-a)%2C5e3)' cannot be accessed from origin 'null'.", "filename": "http://stacksnippets.net/js", "lineno": 13, "colno": 45 }
ডিজেএমসিএমহেম

3

পাইথন 2, 130 বাইট

import thread as H,time as T
m=T.clock;T.z=m()
def f(k):T.sleep(k);T.z+=m()
exec"H.start_new_thread(f,(7,));"*9
f(8);print m(),T.z

এটি মেগোর জবাবের একটি ব্যয়, তবে এটি যথেষ্ট আলাদা যে আমি ভেবেছিলাম এটির একটি পৃথক উত্তর হওয়া উচিত। এটি উইন্ডোজে কাজ করার জন্য পরীক্ষা করা হয়।

মূলত, এটি 9 টি থ্রেডগুলি কাঁটাচামচ করে, যা 7 সেকেন্ডের জন্য ঘুমায় এবং পিতামাতারা 8 এর জন্য ঘুমান Then তারপরে এটি সময়গুলি মুদ্রণ করে। নমুনা আউটপুট:

8.00059192923 71.0259046024

উইন্ডোজে, time.clockপ্রথম কল হওয়ার পরে প্রাচীরের সময় পরিমাপ করে।


এটি কেবল উইন্ডোজে কাজ করে - time.clock()উইন্ডোজ এবং ইউএনআইএক্স / লিনাক্স প্ল্যাটফর্মের মধ্যে আলাদা আচরণ করে তা লক্ষ্য করা গুরুত্বপূর্ণ ।
মেগো

3

পার্ল 6, 72 71 বাইট

এটি করার একটি ছোট উপায় থাকতে পারে

say sum await map {start {sleep 7;now -ENTER now}},^9;say now -INIT now

এই ফলাফল

63.00660729694
7.0064013

2

গণিত, 109 বাইট

a=AbsoluteTiming;LaunchKernels@7;Plus@@@a@ParallelTable[#&@@a@Pause@9,{7},Method->"EvaluationsPerKernel"->1]&

বেনামে ফাংশন। চালানোর জন্য 7+ সাব-কার্নেল সহ লাইসেন্স প্রয়োজন। 9 সেকেন্ড রিয়েলটাইম এবং 63 সেকেন্ডের কার্নেল-সময় নেয়, ওভারহেডের জন্য অ্যাকাউন্টিং হয় না। একবার কেবল পূর্ববর্তী বিবৃতি একবার চালানো নিশ্চিত করুন (যাতে এটি কার্নেলগুলি পুনরায় চালু করার চেষ্টা করে না)। পরীক্ষামূলক:

In[1]:= a=AbsoluteTiming;LaunchKernels@7;func=Plus@@@a@ParallelTable[#&@@a@Pause
@9,{7},Method->"EvaluationsPerKernel"->1]&;

In[2]:= func[]

Out[2]= {9.01498, 63.0068}

In[3]:= func[]

Out[3]= {9.01167, 63.0047}

In[4]:= func[]

Out[4]= {9.00587, 63.0051}

2
ওল্ফ্রামে রেখে কোনও শিশু প্রক্রিয়া চালানোর ক্ষেত্রে লাইসেন্স বিধিনিষেধ আরোপ করুন put
মারিও কার্নেরিও

2

জাভাস্ক্রিপ্ট (ES6), 105 বাইট

((t,c,d)=>{i=t();while(c--)setTimeout((c,s)=>{d+=t()-s;if(!c)alert([t()-i,d])},8e3,c,t())})(Date.now,8,0)

আপডেট সংস্করণ: 106 বাইট @ ইসমাইল মিগুয়েল থেকে ধার করা কারণ তিনি ঘুমের সময় কমিয়ে এবং বিরতি বাড়ানোর দুর্দান্ত ধারণা পেয়েছিলেন।

((t,c,d)=>{i=t();while(c--)setTimeout((c,s)=>{d+=t()-s;if(!c)alert([t()-i,d])},610,c,t())})(Date.now,99,0)

জাভাস্ক্রিপ্ট আনগল্ফড, 167 বাইট

(function(t, c, d){
	i = t();
	while(c--){
		setTimeout(function(c, s){
			d += t() - s;
			if (!c) alert([t() - i, d])
		}, 8e3, c, t())
	}
})(Date.now, 8, 0)


2
পরিবর্তে d+=t()-s;if(!c)alert([t()-i,d]), আপনি লিখতে পারেন d+=t()-s;c||alert([t()-i,d]), যা কয়েকটি বাইট সংরক্ষণ করবে। এছাড়াও, যদি আপনি ফাংশন অপসারণ এবং এটি সমস্ত পুনর্লিখন, তুমি আমার 92-বাইট দীর্ঘ সমাধান সঙ্গে প্রতিদ্বন্দ্বিতা করতে পারেন: for(c=8,i=(t=Date.now)(d=0);c--;)setTimeout((c,s)=>{d+=t()-s;c||alert([t()-i,d])},8e3,c,t())। এবং হ্যাঁ, এটিও 92 বাইট দীর্ঘ।
ইসমাইল মিগুয়েল

2

জাভা, 358 343 337 316 313 বাইট

import static java.lang.System.*;class t extends Thread{public void run(){long s=nanoTime();try{sleep(999);}catch(Exception e){}t+=nanoTime()-s;}static long t,i,x;public static void main(String[]a)throws Exception{x=nanoTime();for(;++i<99;)new t().start();sleep(9000);out.println((nanoTime()-x)/1e9+" "+t/1e9);}}

এবং ungolfed

import static java.lang.System.*;

class t extends Thread {
    public void run() {
        long s = nanoTime();
        try {
            sleep(999);
        } catch (Exception e) {
        }
        t += nanoTime() - s;
    }

    static long t,i,x;

    public static void main(String[] a) throws Exception {
        x = nanoTime();
        for (; ++i < 99;)
            new t().start();
        sleep(9000);
        out.println((nanoTime() - x) / 1e9 + " " + t / 1e9);
    }
}

দয়া করে বাড়িতে এটি চেষ্টা করবেন না, কারণ এই সমাধানটি থ্রেড নিরাপদ নয়।

সম্পাদনা:

আমি @ এ বোশম্যান এবং @ অ্যাডম এর পরামর্শ নিয়েছি এবং এখন আমার প্রোগ্রামটি চালাতে 10 সেকেন্ডেরও কম সময় প্রয়োজন এবং এটি 15 বাইট দ্বারা সংক্ষিপ্ত হবে।


2
আপনি থ্রেড ক্লাসের একটি সন্তানের ভিতরে আছেন, আপনি কি Thread.স্থির ঘুম () পদ্ধতি কলগুলিতে বাদ দিতে পারবেন না ? এছাড়াও, এই প্রোগ্রামটি অযোগ্য ঘোষণা করে, 10 সেকেন্ডেরও বেশি সময়ে শেষ হবে না?
একটি বোশম্যান

@ আবছমান পরামর্শের জন্য ধন্যবাদ, এবং এটি এখনই ঠিক করা হয়েছে, এটি আর 10 সেকেন্ডের বেশি চালায় না
ব্যবহারকারী 902383

1
এছাড়াও, ভুলে যাবেন না যে আমাদের কাছে জাভাতে গল্ফ করার জন্য টিপসের দুর্দান্ত ব্যবহারকারীর ব্যবস্থা আছে :)
কেটেনকিও

1
এটি জাতি-শর্তগুলি পড়ার-সংশোধন করার জন্য সংবেদনশীল বলে মনে হয়। আপনার চারপাশে কোনও ধরণের লকিং বা কিছু নেই static long t। আমি কেবল এটি উল্লেখ করেছি কারণ "অনুমান দুটি বলেই উভয় সময়ের মানকে কমপক্ষে ০.০ সেকেন্ডের নির্ভুলতা রাখতে হয়।"
পোকে

1
আপনি অপসারণ করতে পারেন long আগে sযোগ ,sকরার static long t,i,s;কয়েক বাইট সংরক্ষণ করুন।
কেভিন ক্রুইজসেন

2

সি (pthreads সহ), 339 336 335 বাইট

#include<stdio.h>
#include<sys/time.h>
#include<pthread.h>
#define d double
d s=0;int i;pthread_t p[14];d t(){struct timeval a;gettimeofday(&a,NULL);return a.tv_sec+a.tv_usec/1e6;}
h(){d b=t();sleep(5);s+=t()-b;}
main(){d g=t();for(i=14;i-->0;)pthread_create(&p[i],0,&h,0);for(i=14;i-->0;)pthread_join(p[i],0);printf("%f %f",t()-g,s);}

2

সি 90 (ওপেনএমপি), 131 বাইট (এনভ ভেরিয়েবলের জন্য + 17) = 148 বাইট

#include <omp.h>
#define o omp_get_wtime()
n[4];main(t){t=o;
#pragma omp parallel
while(o-9<t);times(n);printf("%d,%f",n[0],o-t);}

উদাহরণ আউটপুট:

7091,9.000014

নোট:

7091 চক্র (100 / সেকেন্ড) এ রয়েছে, সুতরাং প্রোগ্রামটি 70 সেকেন্ডের জন্য চলে

আমি যদি omp_get_wime () ব্যতীত অন্য কোনও টাইমারের সাথে কাজ করার উপায় খুঁজে পেয়েছিলাম তবে এটি সংক্ষিপ্ত বিবৃতিটিও সরিয়ে ফেলতে পারলে আমি আরও সংক্ষিপ্ত হতে পারি।

OMP_NUM_THREADS = 9 দিয়ে চালান


আপনি এনভ ভার্চ সেট আপ করতে পারেন, তবে আপনার এটি করা বাইটগুলি গণনা করতে হবে, যদি আপনি যে সেটিংটি চয়ন করেন সেটি সাধারণ ডিফল্ট হয়।
অ্যাডম

@ অ্যাডম ধন্যবাদ, আমি যা ভেবেছিলাম, এটি 6 বা 7 বাইট সঞ্চয় করে
dj0wns

2

কমন লিস্প (এসবিসিএল) 166 বাইট:

(do((m #1=(get-internal-real-time))(o(list 0)))((>(car o)60000)`(,(car o),(- #1#m)))(sb-thread:make-thread(lambda(&aux(s #1#))(sleep 1)(atomic-incf(car o)(- #1#s)))))

এটি কেবল থ্রেডগুলিকে তৈরি করে যা ঘুমায় এবং তারপরে পরমাণুভাবে সময় বাড়িয়েছে, একটি বহিরাগত লুপের সাহায্যে মোট সময়ের জন্য 00০০০০ টিকের বেশি (যেমন এসবিসিএলে 60০ এর দশক) অপেক্ষা করা যায়। পারমাণবিক-ইনকফ সংশোধন করতে পারে এমন জায়গাগুলির সীমাবদ্ধতার কারণে কাউন্টারটি তালিকায় সংরক্ষণ করা হয়। দ্রুত মেশিনে শেষ হওয়ার আগে এটি স্থানের বাইরে চলে যেতে পারে।

Ungolfed:

(do ((outer-start (get-internal-real-time))
       (total-inner (list 0)))
      ((> (car total-inner) 60000)
       `(,(car total-inner)
      ,(- (get-internal-real-time) outer-start)))
    (sb-thread:make-thread
     (lambda (&aux(start (get-internal-real-time)))
       (sleep 1)
       (atomic-incf (car total-inner) (- (get-internal-real-time) start)))))

2

পার্ল, 101 বাইট

use Time::HiRes<time sleep>;pipe*1=\time,0;
print time-$1,eval<1>if open-print{fork&fork&fork}-sleep 9

7 টি শিশু প্রসেসের কাঁটাচামচ করে, যার প্রত্যেকটি 9 সেকেন্ড অপেক্ষা করে।

নমুনা আউটপুট:

perl wait-one-minute.pl
9.00925707817078-63.001741

1

গ্রোভি, 158 143 টি অক্ষর

d={new Date().getTime()}
s=d(j=0)
8.times{Thread.start{b=d(m=1000)
sleep 8*m
synchronized(j){j+=d()-b}}}addShutdownHook{print([(d()-s)/m,j/m])}

নমুনা রান:

bash-4.3$ groovy wait1minute.groovy
[8.031, 64.055]

1

এলিক্সির, 168 বাইট

import Task;import Enum;IO.puts elem(:timer.tc(fn->IO.puts(map(map(1..16,fn _->async(fn->:timer.tc(fn->:timer.sleep(4000)end)end)end),&(elem(await(&1),0)))|>sum)end),0)

নমুনা রান:

$ elixir thing.exs
64012846
4007547

মাইক্রোসেকেন্ডে প্রোগ্রামটি চালুর সময়টির পরে আউটপুটটি অপেক্ষা করা মোট সময়।

প্রোগ্রামটি 14 Taskটি আকারে তৈরি হয়েছে এবং তাদের প্রত্যেকের জন্য ম্যাপিংয়ের জন্য অপেক্ষা করছে এবং তারপরে তাদের অতিবাহিত সময়ের যোগফল খুঁজে পাবে। এটি timerসময় পরিমাপের জন্য এরলং ব্যবহার করে ।


সম্প্রদায় আপনাকে স্বাগতম !!
এরিক আউটগলফার

1

হাস্কেল, 278 271 262 246 বাইট

import Control.Concurrent.Chan
import Data.Time
import GHC.Conc
t=getCurrentTime
b!a=b=<<flip diffUTCTime<$>t<*>(a>>t)
w=threadDelay$5^10
0#_=t
i#a=a>>(i-1)#a
main=print!do r<-newChan;9#(forkIO$writeChan r!w);getChanContents r>>=print.sum.take 9

!কর্ম দ্বারা নেওয়া aদ্বিতীয় সময়কে পরিমাপ করে (দ্বিতীয় তর্ক) এবং ফলাফলটিতে প্রয়োগ b(প্রথম যুক্তি)।

w ঘুমের কাজ।

mainনিজেই পরিমাপ করা হয় এবং ফলাফল মুদ্রিত হয় ( print!...)।

#হ'ল replicateM, প্রদত্ত ক্রিয়াটিকে এন বার পুনরাবৃত্তি করা (এবং tগল্ফ করার কারণে ফিরে আসা )।

পরিমাপ করা অংশটির অভ্যন্তরে, 9 টি থ্রেড ( replicate 9 $ forkIO ...) 5^10মিলিসেকেন্ডের জন্য ঘুমান (9.765625 সেকেন্ড) এবং ফলাফলটি ( writeChan) মূল থ্রেড ( newChan) দ্বারা তৈরি একটি পাইপে পোস্ট করুন , যা 9 টি ফলাফলকে যোগ করে এবং মোট ( getChanContents >>= print . sum . take 9) মুদ্রণ করে ।

আউটপুট:

87.938546708s
9.772032144s

1
@ অ্যাডম 6 ^ 9> 10 ^ 7 (10 সেকেন্ড)।
কোটারপিলার

1

পাইথন 2, 132 বাইট

9 টি প্রক্রিয়া চালিত করতে এবং প্রত্যেককে 7 সেকেন্ডের জন্য ঘুমাতে দেয় এমন একটি প্রক্রিয়া পুল ব্যবহার করে।

import time as t,multiprocessing as m
def f(x):d=s();t.sleep(x);return s()-d
s=t.time
a=s()
print sum(m.Pool(9).map(f,[7]*9)),s()-a

প্রথমে মোট জমে ঘুমের সময় মুদ্রণ করে, তারপরে আসল রানটাইম:

$ python test.py
63.0631158352 7.04391384125

1

রুবি ( parallelমণি সহ), 123 116 বাইট

require'parallel'
n=->{Time.now}
t=n[]
q=0
Parallel.each(1..10,:in_threads=>10){z=n[];sleep 6;q+=n[]-z}
puts n[]-t,q

সম্পাদনা: হিস্টোক্র্যাট দ্বারা রুবি উত্তর থেকে "টাইম.নো" রেফারেন্স যুক্ত করা হয়েছে।


1

মতলব, 75 বাইট

tic;parpool(9);b=1:9;parfor q=b
a=tic;pause(7);b(q)=toc(a);end
[sum(b);toc]

দ্রুত ব্যাখ্যা: parforকর্মীদের পুল জুড়ে বিতরণ করা একটি সমান্তরাল-লুপ তৈরি করে। ticএবং tocসময় অতিবাহিত পরিমাপ করুন (এবং আমার মতে ম্যাটল্যাবের অন্যতম সেরা নামকৃত ফাংশন)। শেষ লাইনটি (মোট সময় সহ ঘুমানো এবং আসল সময় কেটে যায় এমন একটি অ্যারে) আউটপুট করা হয় যেহেতু এটি সেমিকোলন দিয়ে শেষ হয় না।

তবে নোট করুন যে এটি সম্পূর্ণ 9 টি পূর্ণ-ম্যাটল্যাব প্রক্রিয়া তৈরি করে। সম্ভাবনাগুলি তখন যা এই নির্দিষ্ট প্রোগ্রামটি আপনার মেশিনে বরাদ্দকৃত 10 সেকেন্ডের মধ্যে শেষ হবে না। তবে আমি মনে করি যে একটি ম্যাটল্যাব ইনস্টলেশন রয়েছে যার সাথে প্যারালাল কম্পিউটিং টুলবক্স ইনস্টল করা ছাড়া আর কোনও সরঞ্জামবাক্স নেই - এসএসডি সহ একটি হাই-এন্ড সিস্টেমে ইনস্টল করা - মাত্র 10 সেকেন্ডের মধ্যে শেষ করতে সক্ষম হতে পারে। প্রয়োজনে কম প্রসেস বেশি ঘুমানোর জন্য আপনি প্যারামিটারগুলি টুইচ করতে পারেন।


ত্রুটিটি bসম্ভবত কারণ সম্ভবত আপনার কর্মক্ষেত্রে কিছু ছিল। parfor q=b
2015b

@ স্যুভার ওহে ওহে, আমার এমএটিএলবি ফোল্ডারে বিএম নামের একটি স্ক্রিপ্ট ছিল।
সানাইজাইজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.