පයිතන්, 358 281 268 221 194 බයිට්
ඊට හේතුවක් වේ එසේ පසුගිය වසරේ. වර්ණ CPU ප්රස්ථාර දෙකක් සාක්ෂාත් කර ගැනීම සඳහා මෙය බහු ක්රියාදාමයන් සහ syscalls භාවිතා කරයි !
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)
ක්රියාකාරකම් මොනිටරයෙන් ප්රතිදානය (OS X 10.9):
මෙනුමීටර වලින් ප්රතිදානය:
සියලුම ප්රතිදානයන් 1s යාවත්කාලීන වේගයකින් ජනනය කරන ලදි. මෙම ප්රතිදානය ඕනෑම තනි නූල් සහිත CPU කාර්යයක් පහසුවෙන්ම පරාජය කළද සැලකිය යුතු පසුබිම් කාර්යයන් ක්රියාත්මක නොවීය.
මෙම කේතය ඔබට මධ්ය 8 ක් ඇතැයි උපකල්පනය කරයි. අඩු / වැඩි ගණනක් සඳහා වෙනස් කිරීම තරමක් පහසු විය යුතුය. එය ලිනක්ස් / යුනික්ස් පද්ධති වෙත අතේ ගෙන යා හැකි ය (එය OS X මත පමණක් අත්හදා බලා ඇතත්), සහ පද්ධති CPU වේලාවෙන් පරිශීලකයා වෙන්කර හඳුනාගත හැකි ඕනෑම CPU මොනිටරයක් සඳහා එකම වර්ණ දෙකේ නිමැවුමක් නිපදවිය යුතුය.
අත්යවශ්යයෙන්ම, මෙය ක්රියාවලීන් හතක් අත්හැර දැමීමෙන් සිදු වේ, ඒ සෑම එකක්ම තත්පර 1 ක් නිදා ගැනීමට, පරිශීලක මාදිලියේ භ්රමණය වීමට හෝ කර්නලය භ්රමණය කිරීමට තෝරා ගනු ඇත. කර්නල් මාදිලියේ භ්රමණය වීම සාක්ෂාත් කරගනු ලබන්නේ විශාල දත්ත ප්රමාණයක් ඉල්ලීමෙනි /dev/urandom
, එමඟින් රියදුරුගේ පිටුබලය /dev/urandom
“පද්ධති” CPU චක්ර විශාල ප්රමාණයක් වැය කිරීමට බල කරයි.
සංස්කරණය කරන ලදි [07/21]: fork()
ඒ වෙනුවට භාවිතා කිරීමෙන් සැලකිය යුතු ලෙස කෙටි කර ඇත multiprocessing.Process
( /dev/urandom
කෙසේ වෙතත් * NIX පද්ධති මත පමණක් ක්රියා කරයි, එබැවින් මෙය අතේ ගෙන යා හැකි බව අඩු නොකරයි). කෙසේ වෙතත් වැඩසටහන දැන් පසුබිම් කාර්යයන් ඇති කරන බව සලකන්න ; killall Python
CPU- අනුභව කරන්නන් ඉවත් කිරීමට ඔබට (හෝ ඊට සමාන) කිරීමට සිදු විය හැකිය.
තවත් ලිපි කිහිපයක් ක්රියාත්මක කිරීම මට විරුද්ධ විය නොහැක. මට අකුරු 16 ක් සහ සංකේත කිහිපයක් ලැබුණි:
සම්පූර්ණ හෝඩිය "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)