আপনার সিপিইউ দিয়ে আঁকুন


289

আমি একটি নিবন্ধ জুড়ে এসেছি যেখানে শিক্ষার্থীরা দেশের আইপিভি 6 গ্রাফে তাদের বিশ্ববিদ্যালয় আঁকার জন্য নেটওয়ার্ক ট্র্যাফিক ব্যবহার করেছিল । [IMAGE]

আপনার লক্ষ্যটি বলা সহজ, তবে কার্যকর করা শক্ত। সিপিইউ গ্রাফটিতে মেইল ​​টেক্সট আঁকুন (এটি 1D গ্রাফে যে কয়েকটি শব্দের মধ্যে পড়তে পারে তার মধ্যে একটি)।

এটি দেখতে কিছু দেখতে হবে:

ফলাফল

কী যোগ্যতা অর্জন করে সে সম্পর্কে আরও কিছু ব্যাখ্যা:

  • কোডটি ক্রস-প্ল্যাটফর্ম হওয়ার দরকার নেই (যাতে ডিল করার জন্য আপনার অজানা এপিআইয়ের প্রয়োজন হবে না)।
  • আপনি এটি আপনার যে কোনও সাধারণ সিপিইউ ব্যবহারের ইউটিলিটিতে ক্যাপচার করতে পারেন।
  • ভিন্ন মেশিনে গ্রাফটি আরও খারাপ দেখাচ্ছে: আমি এবার আপনাকে বিশ্বাস করি।
  • বেস সিপিইউ এর ব্যবহার% অবশ্যই অবশ্যই অবিচ্ছিন্ন হতে পারে, তাই যদি আপনি একটি এলোমেলো তরঙ্গ উত্পন্ন করেন এবং মাইল শব্দের মতো দেখতে এমন কিছু হাইলাইট করেন তবে তা অবশ্যই প্রতারণা করছে।
  • আপনি ব্যবহারের জন্য সর্বোচ্চ লোড চয়ন করতে পারেন, তবে এটি পরিষ্কারভাবে দেখার জন্য এটি যথেষ্ট পরিমাণে থাকতে হবে।
  • আপনাকে অবশ্যই উদাহরণের লাইনারিটি অনুসরণ করতে হবে। (এম এর জন্য এটি দেখতে এটির মতো দেখাচ্ছে: বেস%, তারপরে হ'ল হ'ল নির্দিষ্ট সর্বাধিক হারে ধীরে ধীরে নিম্নের% এ নেমে আসুন, সর্বোচ্চে ফিরে আসুন এবং হঠাৎ আবার বেসের% এ নেমে আসুন))
  • যদি এটি অপঠনযোগ্য হয় তবে ভোটাররা সব পরে লক্ষ্য করবেন।

স্ট্যান্ডার্ড লুফোলস প্রযোজ্য। ছবিগুলিও পোস্ট করুন!


9
আমি আর কাছের ভোটের কারণ দেখছি না। কিছুটা নির্দিষ্ট সিস্টেম সত্ত্বেও আমি ব্যক্তিগতভাবে এটিকে একটি মজাদার চ্যালেঞ্জ মনে করি।
21

6
কোড গল্ফের সাথে আমি যে সমস্যাটি দেখছি তা হ'ল বিচারযোগ্য পর্যাপ্ত পরিমাণে বিচারযোগ্য। আপনি যদি এইটি উদ্দেশ্যমূলকভাবে নির্দিষ্ট করার কোনও উপায় সম্পর্কে ভাবতে পারেন তবে এটি চ্যালেঞ্জের ব্যাপক উন্নতি করবে, তবে যাইহোক এটি সত্যিই দুর্দান্ত ধারণা!
মার্টিন ইন্ডার

3
এটি সত্যিই আপনার ছবির মতোই, তবে আমি আপনাকে গ্যারান্টি দিচ্ছি যদি আপনি এটি কথায় না রাখেন, লোকেরা "মেলকে" খুব উদারভাবে ব্যাখ্যা করবে।
মার্টিন ইন্ডার

33
+1, এটি এতটাই অযৌক্তিক যে আমি নিজেকে প্রায় মৃত্যুর কাছে ছুঁড়ে ফেলেছিলাম ... "এটি পাগলামি ..." "পাগলামি .. এই কোডডলফ !!!"
ভ্যাক্সকুইস

5
এটি একটি উদ্ভট ভয়ঙ্কর প্রশ্ন। আমি আশা করি আমি অংশগ্রহণের জন্য যথেষ্ট স্মার্ট ছিল। এটি সত্যিই গুরুত্বপূর্ণ নয়, আমি অন্যান্য লোকেদের সৃষ্টিশীল সমাধানগুলিতে আগ্রহী: পি
ক্রিস সাইরেফাইস

উত্তর:


117

পাইথন, 143

from time import*
while 1:
 sleep((ord('00012345654321000~~~D:6300036:D~~~000~~~000DDDD~~~~~'[int(time())%52])-48)*0.001);x=10**5
 while x:x-=1

স্ট্রিংয়ের প্রতিটি অক্ষর ASCII অক্ষর 0(সর্বোচ্চ লোড) থেকে ~(খুব হালকা লোড) মাধ্যমে ক্রিয়াকলাপের এক সেকেন্ডের সাথে মিলে যায় । প্রোগ্রামটি একটি টাইম-সিঙ্ক্রোনাইজড লুপে চলে তাই আপনি ভাল ফলাফলের জন্য একাধিক উদাহরণ চালাতে পারেন।

আমি ইন্টেল কোর আই with সহ ওএস এক্সে পাইথন ২.7. used ব্যবহার করেছি, তবে এটি অন্যান্য কম্পিউটারে কিছুটা টুইট করে (সামঞ্জস্য করুন 0.001) ব্যবহার করা উচিত। নীচের স্ক্রিনশটটি উল্লেখযোগ্য ব্যাকগ্রাউন্ড ক্রিয়াকলাপের সাথে নেওয়া হয়েছিল।

মেল

আপডেট - আমি একটি পরিষ্কার গ্রাফ time()/10এবং একটি কম আপডেট ফ্রিকোয়েন্সি সহ উত্পাদন করতে সক্ষম হয়েছি :

মেল

এবং অবশেষে, এখানে আরও গল্ফযুক্ত সংস্করণ ( 123 বাইট ) এবং এর ফলাফল :

from time import*
while 1:
 sleep((ord('002464200~~A5005A~~00~~00DDD~~'[int(time()/2)%30])-48)*0.001);x=10**5
 while x:x-=1

250

পাইথন, 358 281 268 221 194 বাইট

একরঙা তাই গত বছর। এটি দুটি রঙের সিপিইউ গ্রাফ অর্জন করতে একাধিক প্রক্রিয়া এবং সিস্কল ব্যবহার করে !

import os,time
A='%-99o'%int('t12q2lxqkap48euoej9429cstbnazl63ubyryteo49u',36)
for i in'0123456':
 t=os.fork()
 while t<1:T=int(time.time())%50;(time.sleep,(id,os.urandom)[i<A[T+49]])[i<A[T]](1)

ক্রিয়াকলাপ পর্যবেক্ষণ (ওএস এক্স 10.9) থেকে আউটপুট:

ক্রিয়াকলাপ মনিটর সিপিইউ লোড গ্রাফ ক্রিয়াকলাপ মনিটর সিপিইউ ইতিহাস গ্রাফ

সিপিইউ ইতিহাসের গ্রাফে পুনরাবৃত্তি করে

মেনুমিটারগুলি থেকে আউটপুট:

মেনুমিটার আউটপুট

সমস্ত আউটপুটগুলি 1 এস এর আপডেট গতির সাথে উত্পন্ন হয়েছিল। কোনও উল্লেখযোগ্য ব্যাকগ্রাউন্ড টাস্ক চলছিল না, যদিও এই আউটপুটটি খুব সহজেই কোনও একক থ্রেডেড সিপিইউ কার্যকে পরাজিত করে।

এই কোডটি ধরে নিয়েছে আপনার কাছে 8 টি কোর রয়েছে। কম / আরও কিছুতে এটি সংশোধন করা বেশ সহজ হওয়া উচিত। এটি লিনাক্স / ইউএনআইএক্স সিস্টেমে পোর্টেবল (যদিও এটি কেবলমাত্র ওএস এক্স-তে পরীক্ষা করা হয়েছে), এবং কোনও সিপিইউ মনিটরের জন্য একই দুটি রঙের আউটপুট উত্পন্ন করা উচিত যা ব্যবহারকারী সিস্টেম সিপিইউ থেকে পৃথক করতে পারে।

মূলত, এটি সাতটি প্রক্রিয়া বন্ধ করে কাজ করে, যার প্রত্যেকটি 1 সেকেন্ড ঘুমানো, ইউজারমোডে কাটনা বা কার্নেল স্পিনিং করতে বেছে নেবে। কার্নেল মোডে স্পিনিংটি বৃহত গ্লোব থেকে ডেটা অনুরোধ করে অর্জন করা হয় /dev/urandom, যা ড্রাইভারকে /dev/urandom"সিস্টেম" সিপিইউ চক্র ব্যয় করতে বাধ্য করে ।

সম্পাদিত [07/21]: fork()পরিবর্তে ব্যবহার করে উল্লেখযোগ্যভাবে সংক্ষিপ্ত করা হয়েছে multiprocessing.Process( /dev/urandomকেবলমাত্র * NIX সিস্টেমে কাজ করে তাই এটি বহনযোগ্যতা হ্রাস করে না)। তবে নোট করুন যে প্রোগ্রামটি এখন পটভূমির কাজগুলিকে উত্সাহ দেয় ; আপনার killall Pythonসিপিইউ-ইটারদের থেকে মুক্তি পেতে (বা অনুরূপ) হতে পারে।


আমি আরও কয়েকটি চিঠি বাস্তবায়নে প্রতিরোধ করতে পারিনি। আমি 16 টি চিঠি এবং আরও কয়েকটি চিহ্ন পেয়েছি:

~ /._ পিন Ancho ... ... VY

সম্পূর্ণ বর্ণমালা হ'ল "ACDFHILMNOPTUVWY", চিহ্ন সহ "._ ~ / \"। সম্ভবত আরও অনেকগুলি অক্ষর রয়েছে যা প্রতিনিধিত্ব করতে পারে।

অতিরিক্ত চিঠির জন্য পুরোপুরি অবারিত কোড:

from time import*
from multiprocessing import*

chars6 = {
'A': ('123456654321',
      '000123321000'),
'C': ('344556666666',
      '321110000000'),
'D': ('666666655443',
      '000000011123'),
'F': ('66666666666666',
      '00002222244444'),
'H': ('666664444466666',
      '000002222200000'),
'I': ('66666',
      '00000'),
'L': ('666662222222',
      '000000000000'),
'M': ('6665544334455666',
      '0004321001234000'),
'N': ('66665544336666',
      '00003322110000'),
'O': ('3445556666555443',
      '3221110000111223'),
'P': ('666666666555',
      '000003333444'),
'T': ('777776666677777',
      '444440000044444'),
'U': ('6666322236666',
      '4211000001124'),
'V': ('66654322345666',
      '33321000012333'),
'W': ('66542466424566',
      '43210133101234'),
'Y': ('66665433456666',
      '44333000033344'),
'_': ('1111111111',
      '0000000000'),
' ': ('000',
      '000'),
'.': ('12221',
      '10001'),
'~': ('44445544334444',
      '11223322112233'),
'/': ('2234566',
      '0012344'),
'\\': ('6654322',
       '4432100'),
}

s = 'ANCHOVY '
A = '000'.join(chars6[t][0] for t in s)
B = '000'.join(chars6[t][1] for t in s)

t=time()
f=open('/dev/urandom')
def F(n):
 while 1:T=int(time()-t)%len(A);[sleep,[].count,lambda x:f.read(4**9)][(n<int(A[T]))+(n<int(B[T]))](1)
for i in range(7):Process(target=F,args=(i,)).start()
F(7)

34
বর্ণগুলি আরও 2 টি রঙ ব্যবহার করে আরও সংজ্ঞা দেওয়ার জন্য +1
ডাস্টিনডাভিস

4
এবং টেবিল-চালিত চিঠি তৈরির জন্য +1
গ্রিনএজজেড

1
এ আসলে 4 টি থ্রেড সহ সঠিকভাবে (একটি গর্ত দিয়ে) রেন্ডার করা যেতে পারে। যদিও কিছু মিলছে তবে কিছু সিপিইউ মনিটরের রঙ সেট করতে হবে।
রুসলান

@ রাস্লান: আপনি কোন সিপিইউ মনিটরের কথা ভাবছেন? আমার মনিটর প্রতিটি পয়েন্টে 0 <= সিস্টেম <= ব্যবহারকারীর <= 100 (কেবল "ছিদ্র" অসম্ভবকে এএএফআইকে করে তোলে) সহ কেবলমাত্র একটি মোট গ্রাফ প্রদর্শন করে।
নিনেনিও

1
@ ন্যানোইনো বলতে চাইছি আপনার অনুরূপ মনিটর। এই ছবিটি দেখুন । এখানে যদি আমরা নীলকে সবুজ এবং লাল এবং বেগুনি রঙকে সাদা রূপান্তর করি তবে আমরা গর্ত সহ একটি সুন্দর "এ" পাব।
রুসলান

133

সি (ইন্টেল কোর ডুও + ওএস এক্স / ডারউইন), 248 বাইট

#include <unistd.h>
#include <mach/mach_time.h>
#define M mach_absolute_time()
main(){char*s="JJJIHGFGHIJJJ@BDFHJJJHFDB@JJJJ@JJJJBBBBBBB";uint64_t i,t,y=1;for(;*s;s++){
for(i=40;i;i--){for(t=M+(*s&15)*9090909;t>M;)y*=7;usleep((11-(*s&15))*9091);}}}

এই কোডটি চিপস গ্রেট পিরামিডের মতো প্রায় বহনযোগ্য। এর জন্যে দুঃখিত. থেকে প্রাপ্ত মানগুলি mach_absolute_time()হার্ডওয়্যার-নির্ভর, তবে আমার মেশিনে ন্যানোসেকেন্ডে একবারে মান বৃদ্ধি হয়।

ফলাফল এখানে:

আমার সিপিইউ ইতিহাসের গ্রাফে "মাইল" শব্দটি প্রদর্শিত হয়েছে

দুটি গ্রাফ রয়েছে কারণ প্রসেসরের দুটি কোর রয়েছে। আমি সর্বাধিক সিপিইউ লোডটি প্রায় 90% এ সেট করেছিলাম কারণ যখনই আমি কল করি তখন কোরের মধ্যে স্যুইচ করার জন্য প্রক্রিয়াটি দায়বদ্ধ usleep()। 100% লোড সহ, প্রক্রিয়াটি একটি কোরকে বেঁধে রাখা হয় এবং ফলাফলগুলি আপত্তিযোগ্য নয় ( উদাহরণস্বরূপ এটি দেখুন )


1
সাবাশ! এটি খুব আকর্ষণীয় দেখায়। আপনি দয়া করে কোডটির একটু ব্যাখ্যা পোস্ট করতে পারেন? :)
duci9y

1
আমি ধনুর্বন্ধনী দেখুন। লুপের জন্য কেন বন্ধনী রয়েছে? লুপের শেষ ব্লকের জন্য আপনি আমাদের দ্বিতীয়টিকে ঘুমাতে পারেন। আমি মনে করি আপনি কিছুটা আরও সহজে গল্ফ করতে পারেন।
bebe

আপনি uint64_tভেরিয়েবলগুলির ঘোষণা এবং সূচনাটি নীচের forলুপের শিরোনামে রাখতে পারেননি ?
জোয়

74
+1: "এই কোডটি চেপস গ্রেট পিরামিডের মতো প্রায় বহনযোগ্য"
উয়ে কেইম

@ Јοеу না, সি ভেরিয়েবলগুলি একটি ব্লকের শুরুতে ঘোষণা করতে হবে। এটিকে প্রারম্ভিককরণ ব্লকে রেখে দেওয়ার ফলে ত্রুটি ঘটবে। অবশ্যই এটি শুধুমাত্র <C99
bebe

102

রুবি, 150 টি অক্ষর

a=(0..15).map{|i|[0.9-3*i*=0.02,i]}
[9,*a[0,11],*(z=a.reverse)[5,11],11,*z,*a,2,11,6,*[0.2]*9].map{|x,y|c=Time.now
1until Time.now-c>x/3
sleep y||x%3}

এটি এতদূর এতটা ছোট নয়, তবে আমার মতে আউটপুটটি বরং দুর্দান্ত, তাই আমি অনুভব করেছি যে আমি এটি যেভাবে পোস্ট করতে পারি। অন্যান্য বেশিরভাগ সমাধানের মতো, আপনাকে রুবি প্রক্রিয়াটি পূর্বনির্ধারিত করে একটি নির্দিষ্ট কোরকে পিন করতে হবে taskset -c $core

কোডটি নির্দিষ্ট সময়ের জন্য স্পিনিং / স্লিপিংয়ের একটি সহজ সংমিশ্রণ যা এটিকে কিছুটা বহনযোগ্য করে তোলা উচিত । স্পিন / ঘুমের সময়ের অনুপাত পরিবর্তিত করে মসৃণ গ্রেডিয়েন্টগুলি তৈরি করা হয়।

মেইল লিখিত সিপিইউ মনিটর

সিপিইউ স্যাম্পলিং ফ্রিকোয়েন্সি হ্রাস করায় প্রান্তগুলি আরও ভাল দেখায়:

নিম্ন স্যাম্পলিং ফ্রিকোয়েন্সি

বর্ণমালায় আরও কয়েকটি অক্ষর যুক্ত করে ( AILMNUVWকিছুটা স্বীকৃতিযোগ্য) আমরা আরও কয়েকটি শব্দও লিখতে পারি:

মা, এমএডাব্লু, ভিলেন

এই ছবিগুলি নিম্নলিখিত কোড সহ উত্পন্ন হয়েছিল:

def gradient num_samples, direction, base = 0.3, increment = 0.02, scale = 1
    range = [*0..num_samples]

    samples = case direction
        when :up then range.reverse
        when :down then range
        when :updown then range.reverse + range
        when :downup then range + range.reverse
    end

    samples.map{|i|
        i *= increment
        [base - scale * i, i]
    }
end

# letters are defined as a series of pairs of (spin-time, sleep-time)
# with the time in seconds
THIN_A = gradient(15, :updown, 0.2, 0.2/15)
A = gradient(15, :updown)
I = 2,0
L = 1.5,0, [[0.1,0.2]]*9
M = 2,0, gradient(9, :downup), 2,0
N = 1,0, gradient(9, :down), 2,0
U = 1,0, gradient(9, :downup, 0.1, 0.03, 0.1), 1,0
V = 0.5,0, gradient(12, :downup, 0.25, 0.02), 0.5,0
W = 0.5,0, [gradient(12, :downup, 0.25, 0.02)]*2, 0.5,0

[A,I,L,M,N,U,V,W].map{|i|
    # add 2 second pause after each letter
    i + [0,2]
}.flatten.each_slice(2){|x,y|
    # spin, then sleep
    c = Time.now
    1 until Time.now-c > x
    sleep y
}

প্রয়োগকৃত অক্ষরের সাথে যে শব্দগুলি লেখা যেতে পারে সেগুলি পাওয়া যাবে

grep -E '^[aijlmnuvw]+$' /usr/share/dict/words 

4
আরও শব্দে এক্সটেনশনের জন্য +1!
ক্রিস সাইরেফাইস

আপনি "অ্যালুমিনিয়াম" শব্দটি তৈরি করতে পারতেন।
অলিভার ডগর্টি-লং

@ অলিভারডৌথেরি-লং অ্যালুমিনিয়াম *
টুকসক্র্যাটিং

1
@ টেক্সক্রাফ্টেগ অ্যালুমিনিয়াম একটি বৈকল্পিক বানান যা একটি অতিরিক্ত অক্ষরযুক্ত এবং এটি সবচেয়ে দীর্ঘতম শব্দ যা আমি এই কাজগুলি সম্পর্কে ভাবতে পারি।
অলিভার ডাওগার্টি-লং

48

পাইথন, ইনটেল পেন্টিয়াম 4 3.0 গিগাহার্টজ, 180 166 145 141 138 বাইটে

সাথে কল taskset -c 0 python cpu_graph_drawer.py

taskset কেবলমাত্র একটি সিপিইউ / কোর (আমার ক্ষেত্রে হাইপারথ্রেডিং) ব্যবহার করতে প্রক্রিয়াটি সীমাবদ্ধ করার জন্য প্রয়োজনীয়

from time import*;c=clock
a=[(3,.8),(3,5),(4,5),(1.3,5),(1.3,0)]
a.extend([(.1,.2)]*10)
for x,y in a:
    t=c()
    while c()-t<x:pass
    sleep(y)

ফলাফলটি দুর্দান্ত নয়। এই এক টাস্কসেট -c 1


9
আমি এটি দেখতে চাই এমন একটি সিপিইউ মনিটরের সাথে যা কার্ভগুলি কমিয়ে দেয় না ...
Szabolcs

1
আমিও, তবে কঙ্কি সিপিইউ-ব্যবহার গ্রাফ লেখার মতো অনুভব করি না এবং gnome-system-monitorএটিই আমি জানি। LMDE দারুচিনি চলতে পারে যে কোন বিকল্প পেয়েছেন?
ব্যবহারকারী 80551

"স্ট্যাকড এরিয়া চার্ট হিসাবে সিপিইউ আঁকুন" সক্ষম করুন এবং সমস্ত রং কালোতে সেট করুন।
তেজস কালে

@ টেজাসকালে লাইনগুলি এখনও বাঁকা হয়ে থাকবে।
ব্যবহারকারী 80551

এফওয়াইআই: আপনি a=[...]+[(.1,.2)]*10পরিবর্তে ব্যবহার করে একগুচ্ছ চরগুলি গল্ফ করতে পারেন .extend
nneonneo

46

জাভা 8, 482 টি অক্ষর

স্ট্রিংয়ের প্রতিটি চরিত্রের অর্থ থ্রেডের সংখ্যা, যা ব্যবহার করা হবে। ইন্টেল কোর আই 3 (2 কোর / 4 টি থ্রেড) এ তোলা ছবি।

ফলাফল

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Mail{
public static void main(String[] args) throws InterruptedException{
Thread.sleep(15000);
for(char c:"123432234321000012343210000444000044441111111".toCharArray()){
ExecutorService executorService = Executors.newScheduledThreadPool(4);
for(int i=1;i<c-48;i++)executorService.execute(()->{while(!Thread.interrupted());});
Thread.sleep(1500);
executorService.shutdownNow();
}}}

সম্পাদনা করুন : আরও গল্ফ সংস্করণ (322 অক্ষর), একই কার্যকারিতা:

import java.util.concurrent.*;
class M{
public static void main(String[]a)throws Exception{
for(int c:"123432234321000012343210000444000044441111111".toCharArray()){
ExecutorService s=Executors.newFixedThreadPool(4);
while(c>48){c--;s.execute(()->{while(!Thread.interrupted());});}
Thread.sleep(1500);
s.shutdownNow();
}}}

1
এইচটিএমএল হিসাবে ব্যাখ্যা করা এবং ফর্ম্যাটিংটি বিশৃঙ্খলা করতে গিয়ে সেখানে চিহ্নের চেয়ে কম কিছু রয়েছে।
ডেভিড কনরাড

@ ভালেকহাল্ফ হার্টের পরের দুটি লাইনে এটি ব্যাখ্যা করা উচিত। এক্সিকিউটার হ'ল থ্রেড (অ্যাসিনক্রোনাস টাস্ক ম্যানেজার) এক্সিকিউটিভ টাস্ক (গুলি) এখানে বাধা দেওয়া পর্যন্ত। এটি তৈরির পরে, মূল থ্রেড 1.5s এর জন্য অপেক্ষা করে এবং তারপরে সমস্ত কার্যগুলিতে বাধা দেয়।
PTwr

45
সবেমাত্র Eclipse খোলার মাধ্যমে আমার সিপিইউ গ্রাফটি লিখেছিল "সিম্পল মেল ট্রান্সফার প্রোটোকল"।
lolesque

21

সি, 78 বাইট

আপনি কখনও বলেননি যে আমরা ব্যবহারকারীর ইনপুট গ্রহণ করতে পারি না, খুব ..

#include <unistd.h>
int main(){int x=0;for(;x<1<<26;++x);read(0,&x,1);main();}

এই প্রোগ্রামটি স্ট্যান্ডার্ড থেকে পাঠায় এবং প্রতিবার যখন এটি একটি অক্ষর পড়ে তখন এটি লুপের জন্য একটি অকৃত্রিম সিপিইউ নষ্ট করে দেয়, তারপরে আবার মূলটিকে কল করে। আপনি বিভিন্ন গতিতে এন্টার কী স্প্যাম করে এটি কতটা সিপিইউ ব্যবহার করেন তা নিয়ন্ত্রণ করে।

আমি এটি একটি ইন্টেল i3 4130T এ চালিত করেছি, এটি যুক্তিযুক্ত নতুন প্রসেসর। তবে আপনার মাইলেজটি পৃথক হতে পারে, যদি এটি পর্যবেক্ষণ করার জন্য ব্যবহারিকের চেয়ে কম বা কম সিপিইউ সময় ব্যবহার করে, তবে বিলম্বের লুপে শিফটের পরিমাণ নিয়ে খেলতে চেষ্টা করুন।

আমার প্রোগ্রামটি দুর্দান্ত কারণ এটি:

  • এটি বেশিরভাগ ক্রস প্ল্যাটফর্ম, এটি কোনও * নিক্সের সাথে খুব কম ফিডিংয়ের সাথে কাজ করা উচিত
  • প্রশ্নকে পরাজিত করে
  • দুর্দান্ত শেষ খেলা

কয়েকবার চেষ্টা করার পরে আমি এমন একটি গ্রাফ তৈরি করেছি যা দেখতে এরকম দেখাচ্ছে:সিপিইউ গ্রাফ


এটি এটিকে টাস্কসেট সহ একটি সিপিইউ কোরতে সীমাবদ্ধ রাখতে সহায়তা করে a taskset -c 1 [file]
ওয়াগ

2
সমস্যার প্রয়োজনীয়তার মধ্যে আমি কিছুই দেখতে পাচ্ছি না যা জানিয়েছে যে আমাদের জমাগুলি হিসাবে আহ্বান করা হবেyes | [program]
ওয়াগ


1
"দুর্দান্ত এন্ডগেম নাটক" আমাকে লল করে তোলে। +1
ক্রিস্টোফ

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