常々思うこと。
この世界は、私の認識によって成り立っている。
私が認識できないもの、すなわち知覚できないもの、知識として得られない有象無象は
そこに存在していないことと何一つ変わらない。
私は、私の死後の世界を認識することはできない。
その時、私という自我が失われることを、知識として身につけているからだ。
したがって、私の死後の世界は、私にとって存在しないものである。
ゆえに、私が死ぬことはない。
永遠に生き続けねばならないのだ。
何処に矛盾があるだろうか。
常々思うこと。
この世界は、私の認識によって成り立っている。
私が認識できないもの、すなわち知覚できないもの、知識として得られない有象無象は
そこに存在していないことと何一つ変わらない。
私は、私の死後の世界を認識することはできない。
その時、私という自我が失われることを、知識として身につけているからだ。
したがって、私の死後の世界は、私にとって存在しないものである。
ゆえに、私が死ぬことはない。
永遠に生き続けねばならないのだ。
何処に矛盾があるだろうか。
C++: Mac環境でコア単位のCPU使用率を測定する
#include <stdio.h> #include <unistd.h> #include <mach/mach_host.h> #include <mach/processor_info.h> #include <iostream> using namespace std; class CpuUsage { public: CpuUsage(int core): core_(core) { prev = updated_ticks_(core); } float get() { Ticks t = updated_ticks_(core_); unsigned long long int used = t.used() - prev.used(); unsigned long long int total = t.total() - prev.total(); prev = t; return (float)used / (float)total * 100.0f; } private: struct Ticks { unsigned long long int usertime; unsigned long long int nicetime; unsigned long long int systemtime; unsigned long long int idletime; unsigned long long int used() { return usertime + nicetime + systemtime; } unsigned long long int total() { return usertime + nicetime + systemtime + idletime; } } prev; int core_; Ticks updated_ticks_(int core) { unsigned int cpu_count; processor_cpu_load_info_t cpu_load; mach_msg_type_number_t cpu_msg_count; int rc = host_processor_info( mach_host_self( ), PROCESSOR_CPU_LOAD_INFO, &cpu_count, (processor_info_array_t *) &cpu_load, &cpu_msg_count ); if (rc != 0) { printf("Error: failed to scan processor info (rc=%d)\n", rc); exit(1); } if (core < 0 || cpu_count <= core) { printf("Error: invalid core number: %d\n", core); exit(1); } unsigned long long int usertime = cpu_load[core].cpu_ticks[CPU_STATE_USER]; unsigned long long int nicetime = cpu_load[core].cpu_ticks[CPU_STATE_NICE]; unsigned long long int systemtime = cpu_load[core].cpu_ticks[CPU_STATE_SYSTEM]; unsigned long long int idletime = cpu_load[core].cpu_ticks[CPU_STATE_IDLE]; Ticks t = {usertime, nicetime, systemtime, idletime}; return t; } }; int main() { CpuUsage a(0), b(1), c(2), d(3); sleep(1); printf("%6.2f, %6.2f, %6.2f, %6.2f\n", a.get(), b.get(), c.get(), d.get()); sleep(1); printf("%6.2f, %6.2f, %6.2f, %6.2f\n", a.get(), b.get(), c.get(), d.get()); sleep(1); printf("%6.2f, %6.2f, %6.2f, %6.2f\n", a.get(), b.get(), c.get(), d.get()); return 0; }
(need improvement)
78.00, 72.73, 85.00, 72.00 78.00, 57.00, 72.00, 56.57 82.00, 83.00, 90.00, 88.00