D언어군의 번식에 대한 신설
5779 단어 AdventCalendar병렬 처리D언어군dlang
새로운 개체의 출현
2015 년에 번식기 D 언어 군이 발견되었습니다. , D언어군이 단위생식으로 증식하도록 하는 것이 밝혀졌다.
그러나 이 번식방법은
등의 문제점을 안고 있어 동시에 D언어군의 멸종이 우려되었다.
하지만 최근 현지 주민들의 증언에서 D언어군이 다른 번식 방법을 획득한 것 같았다. 그 모습을 촬영하려고 했지만, 그 모습을 카메라에 포착하기 전에 12월이 되어, D언어군은 크리스마스 장식에 의태해 보이지 않게 되어 버렸다. 대신 현지 주민의 스케치를 이용해 소개하자.
두 마리에서 일어나는 번식
현지 주민으로부터 얻은 정보에 의해 재현되는 D언어군의 번식은 다음과 같은 과정을 거친다.
여기서 주목하고 싶은 것은, 스케치상에서의 D언어군의 몸통에 구멍이 열려 있는 것이다. 이것이 D언어군의 통상 개체라면 1마리밖에 없는 번식기의 D언어군에 의지하지 않고 번식하는 것이 가능하기 때문에 특정 개체에 의존하는 번식 방법에서 벗어났다는 것이다. 태즈메이니아 악마가 악마 안면 종양 질환에 적응 D 언어 군이 돌연변이에 의해 진화하고 있다고 생각된다. 오세치의 카마보코에 떡의 에센스가 mixin 한 것이다. 또 한층 더 증언을 모으면 터무니 없는 길이로 늘어난 D언어군의 목격 정보도 얻을 수 있었다.
매우 절묘한 귀엽다. 병렬로 늘어나는 능력을 획득함으로써 D언어군은 앞으로 점점 발전해 나갈 것이다.
어쨌든
D 언어에는 병렬 처리를 간단하게 실시하는 방법이 있다.
import std.stdio;
import std.math : log;
import std.range : iota;
import std.string : format;
import std.parallelism : TaskPool;
void main()
{
auto pool = new TaskPool();
foreach(index,c;pool.parallel(iota(10)))
{
writeln(format("%s: %s",index,log(index)));
}
pool.finish();
}
/*
出力:
0: -inf
3: 1.09861
5: 1.60944
8: 2.07944
9: 2.19722
6: 1.79176
4: 1.38629
1: 0
2: 0.693147
7: 1.94591
*/
몇 분 원인을 모르고 곤란했기 때문에 메모한다. pool.finish()
없으면 프로그램이 종료되지 않습니다.
import std.stdio;
import std.math : log;
import std.range : iota;
import std.string : format;
import std.parallelism : parallel;
void main()
{
foreach(index,c;iota(10).parallel())
{
writeln(format("%s: %s",index,log(index)));
}
}
이런 식으로도 쓸 수 있다. 이쪽이 편리합니다.
Reference
이 문제에 관하여(D언어군의 번식에 대한 신설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kotet/items/b2bb34b3a139ceeb519e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import std.stdio;
import std.math : log;
import std.range : iota;
import std.string : format;
import std.parallelism : TaskPool;
void main()
{
auto pool = new TaskPool();
foreach(index,c;pool.parallel(iota(10)))
{
writeln(format("%s: %s",index,log(index)));
}
pool.finish();
}
/*
出力:
0: -inf
3: 1.09861
5: 1.60944
8: 2.07944
9: 2.19722
6: 1.79176
4: 1.38629
1: 0
2: 0.693147
7: 1.94591
*/
import std.stdio;
import std.math : log;
import std.range : iota;
import std.string : format;
import std.parallelism : parallel;
void main()
{
foreach(index,c;iota(10).parallel())
{
writeln(format("%s: %s",index,log(index)));
}
}
Reference
이 문제에 관하여(D언어군의 번식에 대한 신설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kotet/items/b2bb34b3a139ceeb519e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)