bugün
- bir erkek ve bir kız arkadaş olabilir mi13
- meal kuran değildir26
- insanlar sizi nasıl tanımlar6
- aslan abilerim sözlüğe geri dönsün kampanyası7
- gecenin film sahnesi4
- kahve falı3
- duş almak vs duş yapmak4
- eğitimde itaat kültürü2
- trabzonspor harbiden salah'ı almış4
- bella hadid5
- mohamed salah ghaly5
- 31 çekerken eli kırmak4
- romantik komedi izleyen erkek2
- online kumar2
- fatih tekke2
- bayan kelimesi neden rahatsız edici28
- gürkan uygun3
- velvet almanyaya gel5
- çoğu yazarları donuzlamış olmam7
- dürüm yerken uzaklara dalmak2
- iki elle 31 çekmek2
- geceye güzel bir söz bırak2
- ıban at4
- renault safrane vs opel omega2
- iremga12
- yazarlara sözlüğü zehir zıkkım etmek4
- sözlükte erkek yazar istemiyoruz kampanyası4
- velvet14
- acil iş fikri lazım arkadaşlar16
- kendini anlatamamak6
- dünya sivaslılar günü3
- kız arkadaş kiralamak8
- uzak diyar nickli gurbetçi akp li3
- afrika nasıl kalkınabilir15
- lulu3
- arkadaşlar ben başaramadım3
- uzak diyar4
- justin bieber3
- arkadaşlar benden rahatsız mısınız3
- başak erkeği nasıl tavlanır3
- eric abidal2
- kendine 10 üzerinden kaç verirsin4
- psikologa verdiğin mal iyi değilmiş demek3
- bakarız3
- memati baş5
- tai lung7
- geceye 90 lardan bir şarkı bırak4
- hayatımdaki şeylerin yolunda gitme süresi3
- anker2
- redkitin ati2
meğerse bu da güncel hızı sunmayan bir programmış! çoklu iş parçacığıyla 1 saniyede 1 den 50 milyara kadar olan tüm sayıları artışık biçimde saydırdım! 50 tane adam öldü gitti yani! en iyi ihtimali varsayıp 25 diyelim! çift threadde, tek çekirdekte 10 milyar!
görsel
buyrun kaynak kod:
#include <stdio.h>
#include <pthread.h>
#include <sys/time.h>
#define MAX_COUNT 50000000000LL // long long int türü için LL ekledik
#define THREAD_COUNT 24 // 24 çekirdek için iş parçacığı sayısı
// işlem yapılacak fonksiyon
void* count_numbers(void* arg) {
long long start = *((long long*)arg);
long long end = start + (MAX_COUNT / THREAD_COUNT);
for (long long i = start; i < end; i++) {
// Her sayıyı yazdırmıyoruz çünkü çok büyük veri olur, ancak isterseniz yazdırabilirsiniz
// printf("%lld\n", i);
}
return NULL;
}
int main() {
struct timeval start_time, end_time;
double elapsed_time;
pthread_t threads[THREAD_COUNT];
long long start_values[THREAD_COUNT];
// Başlangıç zamanını al
gettimeofday(&start_time, NULL);
// iş parçacıklarını başlat
for (int i = 0; i < THREAD_COUNT; i++) {
start_values[i] = (MAX_COUNT / THREAD_COUNT) * i; // Her iş parçacığına başlangıç noktası
pthread_create(&threads[i], NULL, count_numbers, (void*)&start_values[i]);
}
// iş parçacıklarının bitmesini bekle
for (int i = 0; i < THREAD_COUNT; i++) {
pthread_join(threads[i], NULL);
}
// Bitiş zamanını al
gettimeofday(&end_time, NULL);
// Geçen süreyi hesapla
elapsed_time = (end_time.tv_sec - start_time.tv_sec) + (end_time.tv_usec - start_time.tv_usec) / 1000000.0;
// Sonucu yazdır
printf("1'den %lld'ye kadar sayma işlemi %.6f saniye sürdü.\n", MAX_COUNT, elapsed_time);
return 0;
}
görsel
buyrun kaynak kod:
#include <stdio.h>
#include <pthread.h>
#include <sys/time.h>
#define MAX_COUNT 50000000000LL // long long int türü için LL ekledik
#define THREAD_COUNT 24 // 24 çekirdek için iş parçacığı sayısı
// işlem yapılacak fonksiyon
void* count_numbers(void* arg) {
long long start = *((long long*)arg);
long long end = start + (MAX_COUNT / THREAD_COUNT);
for (long long i = start; i < end; i++) {
// Her sayıyı yazdırmıyoruz çünkü çok büyük veri olur, ancak isterseniz yazdırabilirsiniz
// printf("%lld\n", i);
}
return NULL;
}
int main() {
struct timeval start_time, end_time;
double elapsed_time;
pthread_t threads[THREAD_COUNT];
long long start_values[THREAD_COUNT];
// Başlangıç zamanını al
gettimeofday(&start_time, NULL);
// iş parçacıklarını başlat
for (int i = 0; i < THREAD_COUNT; i++) {
start_values[i] = (MAX_COUNT / THREAD_COUNT) * i; // Her iş parçacığına başlangıç noktası
pthread_create(&threads[i], NULL, count_numbers, (void*)&start_values[i]);
}
// iş parçacıklarının bitmesini bekle
for (int i = 0; i < THREAD_COUNT; i++) {
pthread_join(threads[i], NULL);
}
// Bitiş zamanını al
gettimeofday(&end_time, NULL);
// Geçen süreyi hesapla
elapsed_time = (end_time.tv_sec - start_time.tv_sec) + (end_time.tv_usec - start_time.tv_usec) / 1000000.0;
// Sonucu yazdır
printf("1'den %lld'ye kadar sayma işlemi %.6f saniye sürdü.\n", MAX_COUNT, elapsed_time);
return 0;
}
Gündemdeki Haberler
Güncel Önemli Başlıklar