Hmm .. Bunun artık gerekli olmadığını düşünüyorum. Durum aydınlandı. Bu konudaki alışılmış olduğu gibi - biraz şaşırdım ve paylaşmaya karar verdim ... :)
İşte testten bir alıntı, testin tam metni fragmanda, ayrıca bir kütüphane var:
2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman int testi = 62 ms; // 1000000 çağrı 2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zamanlı uzun test = 141 ms; // 1000000 çağrı 2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman ikili testi = 62 ms; // 1000000 çağrı 2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman IntRational testi = 1032 ms; // 1000000 çağrı 2011.04.04 20:29:14 RationalSpeedTest (EURUSD,M20) Ortak zaman UzunRational testi = 921 ms; // 1000000 çağrı
Çok kafam karıştı - aritmetik işlemlerin hızı açısından çift ve int kesinlikle çakıştı ve dahası, en hızlı, yarı yarıya geride kaldı, Rational tam kıçında.
Bu deneylerin ışığında bir tamsayı test cihazı oluşturmak biraz sıkıcı oldu.. :-))
Belki diğer işlemcilerde sonuçlar biraz farklı olacaktır (test edenlere ve düzenleyenlere minnettar olacağım), ancak büyük farklılıklara inanamıyorum.
İlginç bir şekilde, 90'ların başında, tamsayı ve kayan işlemler arasındaki farkı test ettim, farklar oldukça dikkat çekiciydi (hafifçe söylemek gerekirse).
Özet - 90'lar gitti ve gitti, kayan nokta aritmetiği artık çok hızlı çalışıyor.
Tamsayı aritmetiğine değiştirmek bile makul değildir (ticaret bağlamında) - yanıltıcı değilse bile kazanç ihmal edilebilir.
Son özet - Intel, demir düzeyinde rasyonel aritmetik için hemen destek yapmazsa, artık bunun için endişelenemezsiniz ... en azından hız açısından. :)
Amin.
// Tekrarlıyorum. Testler ayrı bir bilgisayar taşında yapıldı, bu nedenle gereksiz yanılgılara düşmemek için testi bilgisayarlarında yapmak isteyenlerin donanım parametrelerini gösteren sonuçları göndermelerini rica ediyorum.
// Bilgisayarım: 2 gig RAM, Sempron 3100+ 2.2 gigahertz, 32 bit, WinXP işletim sistemi
Hmm .. Bunun artık gerekli olmadığını düşünüyorum. Durum aydınlandı. Bu konudaki alışılmış olduğu gibi - biraz şaşırdım ve paylaşmaya karar verdim ... :)
Hesaplamaların %99'u ortak bir paydaya indirgemeyi gerektirmez. Yani test tamamen doğru değil. Gerçek hesapları alıp doğru yapmamız gerekiyor. Ints, bugünkü tahminlerime göre daha hızlıdır (ve her şeyin belleğe ve işlemci önbelleğine sığması nedeniyle) - 1000000 :) Tek kelimeyle çarpıcı sonuçlar. 1 saniyede 2000 koşu gibi. :)
Academic : Kaçmaktan korkmuyorsun. Yalan söylemiyorum. :) Zorlamak kolaydır, sadece düşünmeniz gerekir. Şey ... bir rüyada - özgüvene hayran kaldım. :)
"Alıştırmayı" tekrar etmem boşuna değil.
Uzun bir süredir, ağ üzerinden aktarım sırasında aşırı bit düzeyinde fiyat tekliflerini başarıyla paketledik. Ortalama olarak, 10 yıllık bir dakikalık geçmiş 10-12 mb'ye sıkıştırıldığında sıkıştırma 1:13'tür.
Ancak uygulama öyle ki, bu rezaletin (onlarla matematiksel işlemlerden bahsetmiyorum bile) açılması o kadar çok zaman alıyor ki, herhangi bir hızdan söz edilemez.
Uzun bir süredir, ağ üzerinden aktarım sırasında aşırı bit düzeyinde fiyat tekliflerini başarıyla paketledik. Ortalama olarak, 10 yıllık bir dakikalık geçmiş 10-12 mb'ye sıkıştırıldığında sıkıştırma 1:13'tür.
Ancak uygulama öyle ki, bu rezaletin (onlarla matematiksel işlemlerden bahsetmiyorum bile) açılması o kadar çok zaman alıyor ki, herhangi bir hızdan söz edilemez.
Size söylüyorum - yüksek performanslı uygulamaları programlama konusunda deneyim sahibi olmanız gerekiyor. Ve teori ile uğraşmamak için - bu beş makine talimatının bu 32 bitinden veri çıkarmak daha yavaş olmayacaktır.
// Tekrarlıyorum. Testler ayrı bir bilgisayar taşında yapıldı, bu nedenle gereksiz yanılgılara düşmemek için testi bilgisayarlarında yapmak isteyenlerin donanım parametrelerini gösteren sonuçları göndermelerini rica ediyorum.
// Bilgisayarım: 2 gig RAM, Sempron 3100+ 2.2 gigahertz, 32 bit, WinXP işletim sistemi
Sert Sibiryalı oduncular da aynı şeyi söyledi :o)
2011.04 . 0420 : 30 : 59 RationalSpeedTest (USDCHF,M1) Common time int test = 78 ms; // 1000000 calls2011.04 . 0420 : 30 : 59 RationalSpeedTest (USDCHF,M1) Common time long test = 125 ms; // 1000000 calls2011.04 . 0420 : 30 : 59 RationalSpeedTest (USDCHF,M1) Common time double test = 94 ms; // 1000000 calls2011.04 . 0420 : 30 : 59 RationalSpeedTest (USDCHF,M1) Common time IntRational test = 1391 ms; // 1000000 calls2011.04 . 0420 : 30 : 58 RationalSpeedTest (USDCHF,M1) Common time LongRational test = 1015 ms; // 1000000 calls
P4 3 Гц [ 32 бита] 1Гб оперативы, ОС: Windows XP SP 3 версия 5.1 сборка 2600
Tam netlik için Count'ta bir sıfır daha Dawabilated
2011.04 . 0420 : 39 : 22 RationalSpeedTest (USDCHF,M1) Common time int test = 718 ms; // 10000000 calls2011.04 . 0420 : 39 : 22 RationalSpeedTest (USDCHF,M1) Common time long test = 1266 ms; // 10000000 calls2011.04 . 0420 : 39 : 20 RationalSpeedTest (USDCHF,M1) Common time double test = 1000 ms; // 10000000 calls2011.04 . 0420 : 39 : 19 RationalSpeedTest (USDCHF,M1) Common time IntRational test = 13156 ms; // 10000000 calls2011.04 . 0420 : 39 : 06 RationalSpeedTest (USDCHF,M1) Common time LongRational test = 9282 ms; // 10000000 calls
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
EMAshka kontrolünde - en fazla olacak.
Hmm .. Bunun artık gerekli olmadığını düşünüyorum. Durum aydınlandı. Bu konudaki alışılmış olduğu gibi - biraz şaşırdım ve paylaşmaya karar verdim ... :)
İşte testten bir alıntı, testin tam metni fragmanda, ayrıca bir kütüphane var:
.......... .................... IntRational ira={ 2345 , 3456 }; IntRational irb={ 67 , 93 }; IntRational irc={ 93 , 67 }; t = GetTickCount (); for ( int i= 0 ;i<Count;i++) { ira.Div(irb); ira.Div(irc); ira.Mul(irb); ira.Mul(irc); ira.Add(irb); ira.Add(irc); ira.Sub(irb); ira.Sub(irc); ira.Norm(); } Print ( "Common time IntRational test = " , GetTickCount ()-t, " ms; // " ,Count, " calls" ); double da= 2345.0 / 3456.0 ; double db= 67.0 / 93.0 ; double dc= 93.0 / 67.0 ; t = GetTickCount (); for ( int i= 0 ;i<Count;i++) { da/=db; da/=dc; da*=db; da*=dc; da+=db; da+=dc; da-=db; da-=dc; } Print ( "Common time double test = " , GetTickCount ()-t, " ms; // " ,Count, " calls" ); .................. ......Sonuçlar:
2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman int testi = 62 ms; // 1000000 çağrı
2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zamanlı uzun test = 141 ms; // 1000000 çağrı
2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman ikili testi = 62 ms; // 1000000 çağrı
2011.04.04 20:29:15 RationalSpeedTest (EURUSD,M20) Ortak zaman IntRational testi = 1032 ms; // 1000000 çağrı
2011.04.04 20:29:14 RationalSpeedTest (EURUSD,M20) Ortak zaman UzunRational testi = 921 ms; // 1000000 çağrı
Çok kafam karıştı - aritmetik işlemlerin hızı açısından çift ve int kesinlikle çakıştı ve dahası, en hızlı, yarı yarıya geride kaldı, Rational tam kıçında.
Bu deneylerin ışığında bir tamsayı test cihazı oluşturmak biraz sıkıcı oldu.. :-))
Belki diğer işlemcilerde sonuçlar biraz farklı olacaktır (test edenlere ve düzenleyenlere minnettar olacağım), ancak büyük farklılıklara inanamıyorum.
İlginç bir şekilde, 90'ların başında, tamsayı ve kayan işlemler arasındaki farkı test ettim, farklar oldukça dikkat çekiciydi (hafifçe söylemek gerekirse).
Özet - 90'lar gitti ve gitti, kayan nokta aritmetiği artık çok hızlı çalışıyor.
Tamsayı aritmetiğine değiştirmek bile makul değildir (ticaret bağlamında) - yanıltıcı değilse bile kazanç ihmal edilebilir.
Son özet - Intel, demir düzeyinde rasyonel aritmetik için hemen destek yapmazsa, artık bunun için endişelenemezsiniz ... en azından hız açısından. :)
Amin.
// Tekrarlıyorum. Testler ayrı bir bilgisayar taşında yapıldı, bu nedenle gereksiz yanılgılara düşmemek için testi bilgisayarlarında yapmak isteyenlerin donanım parametrelerini gösteren sonuçları göndermelerini rica ediyorum.
// Bilgisayarım: 2 gig RAM, Sempron 3100+ 2.2 gigahertz, 32 bit, WinXP işletim sistemi
Hmm .. Bunun artık gerekli olmadığını düşünüyorum. Durum aydınlandı. Bu konudaki alışılmış olduğu gibi - biraz şaşırdım ve paylaşmaya karar verdim ... :)
Hesaplamaların %99'u ortak bir paydaya indirgemeyi gerektirmez. Yani test tamamen doğru değil. Gerçek hesapları alıp doğru yapmamız gerekiyor. Ints, bugünkü tahminlerime göre daha hızlıdır (ve her şeyin belleğe ve işlemci önbelleğine sığması nedeniyle) - 1000000 :) Tek kelimeyle çarpıcı sonuçlar. 1 saniyede 2000 koşu gibi. :)
Özet - 90'lar gitti ve gitti, kayan nokta aritmetiği artık çok hızlı çalışıyor .
Onu tamsayı aritmetiğine çevirmek bile mantıklı değil (ticaret bağlamında) - yanıltıcı değilse bile kazanç ihmal edilebilir .
Son on bir yıldır programlama yapanlar bunu uzun zamandır biliyorlar.
Ek olarak, SSE2'ye geçmemiz boşuna değildi, çünkü onsuz performansta genel bir artış olmaz.
Son on bir yıldır programlama yapanlar bunu uzun zamandır biliyorlar.
SSE2'ye geçmemiz boşuna değildi, çünkü onsuz performansta genel bir artış olmaz.
32 bite bir onay işareti koydum (sor, teklif ve zaman). Ayrıca alınan - zaten kullanılması mümkün olan hız.
:) Artı, bellekten, MT5 gibi koşmuyorum - çubuğun etrafındaki tüm seçenekleri büküyorum ve tersi değil. :) Uçan!!! :)
**
Bu arada, zor değilse MT'ye gidin - yukarıda yazdım.
32 bite bir onay işareti koydum (sor, teklif ve zaman). Ayrıca alınan - zaten kullanılması mümkün olan hız.
Bir rüyada, bunun gibi başka bir şey yapabilirsiniz ... Sadece pratik yapmak sizi uyandırır ve her şeyi mahveder.
Ama hiçbir şey, bu gece yeni bir fantezi uçuşu olacak!
Bir rüyada, bunun gibi başka bir şey yapabilirsiniz ... Sadece pratik yapmak sizi uyandırır ve her şeyi mahveder.
Ama hiçbir şey, bu gece yeni bir fantezi uçuşu olacak!
Kaçmaktan korkmuyorsun. Yalan söylemiyorum. :) Zorlamak kolaydır, sadece düşünmeniz gerekir. Şey ... bir rüyada - özgüvene hayran kaldım. :)
"Alıştırmayı" tekrar etmem boşuna değil.
Uzun bir süredir, ağ üzerinden aktarım sırasında aşırı bit düzeyinde fiyat tekliflerini başarıyla paketledik. Ortalama olarak, 10 yıllık bir dakikalık geçmiş 10-12 mb'ye sıkıştırıldığında sıkıştırma 1:13'tür.
Ancak uygulama öyle ki, bu rezaletin (onlarla matematiksel işlemlerden bahsetmiyorum bile) açılması o kadar çok zaman alıyor ki, herhangi bir hızdan söz edilemez.
"Alıştırmayı" tekrar etmem boşuna değil.
Uzun bir süredir, ağ üzerinden aktarım sırasında aşırı bit düzeyinde fiyat tekliflerini başarıyla paketledik. Ortalama olarak, 10 yıllık bir dakikalık geçmiş 10-12 mb'ye sıkıştırıldığında sıkıştırma 1:13'tür.
Ancak uygulama öyle ki, bu rezaletin (onlarla matematiksel işlemlerden bahsetmiyorum bile) açılması o kadar çok zaman alıyor ki, herhangi bir hızdan söz edilemez.
...
Amin.
// Tekrarlıyorum. Testler ayrı bir bilgisayar taşında yapıldı, bu nedenle gereksiz yanılgılara düşmemek için testi bilgisayarlarında yapmak isteyenlerin donanım parametrelerini gösteren sonuçları göndermelerini rica ediyorum.
// Bilgisayarım: 2 gig RAM, Sempron 3100+ 2.2 gigahertz, 32 bit, WinXP işletim sistemi
Sert Sibiryalı oduncular da aynı şeyi söyledi :o)
Tam netlik için Count'ta bir sıfır daha Dawabilated