Yazar |
|
piedro
Kayıt: 08.06.2008 |
|
neurorebel yazdi | Bildiğiniz gibi seçtiğiniz algoritma kötüyse unsafe pointer falan kurtarmaz :) .NET, Perl falan gibi araçların RegEx implementasyonlarının problemi bu :) PATRICIA Trees diye aradığınız zaman çok güzel bir veri yapısı öğreneceksiniz :) (Binary Radix Tree olarak da geçiyor) |
unsafe kodla, radix tree yi nasıl karşılaştırdın veya yan yana koydun anlamadım..(radix tree, 3.sınıf veri yapıları konusu olması lazım, yeni birşey değil)
|
|
Yazar |
|
burakkanmaz
Gaziantep
Kayıt: 02.10.2006 |
|
extreme yazdi | burakkanmaz yazdi |
"Ölçüm 2", "Ölçüm 1" e göre 10,7724 kat daha hızlıdır.
////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bu teste pointer olan versiyonu koyarsak eminim Ölçüm 2'yi katlar geçer |
Assembly ile yazarım görürsün kimmiş hızlı |
Yiyosa yaz
|
|
Yazar |
|
piedro
Kayıt: 08.06.2008 |
|
10 katta çok olmuş be Burak çım süper çalışma oldu;)
burakkanmaz yazdi | Ve test sonuçları...
////////////////////////////////////////////////////////////////////////////////////////////////////////////
Ölçümler için http://download.burakkanmaz.net/PerformanceTest.rar linkindeki kodları kullandım.
Ölçümü normal büyüklükte bir veri ile gerçekleştirdim. Bu verinin istatistikleri ;
Ölçüm 1 :
Kod :
static int kacTaneVar(string buyukString,string kucukString){
int bUzunluk = buyukString.Length;
int kUzunluk = kucukString.Length;
int kacTane = 0;
for (int sayac = 0; sayac <= bUzunluk - kUzunluk; sayac++ )
{
if (buyukString.Substring(sayac, kUzunluk) == kucukString)
kacTane++;
}
return kacTane;
}
Ortalama hesap süresi : 00:00:00.0030346 (Yani 0.0030346 saniye)
Testlerin sonuç resmi :
Ölçüm 2 :
Kod :
System.Text.RegularExpressions.MatchCollection wordColl = System.Text.RegularExpressions.Regex.Matches(cumle,kelime);
MessageBox.Show(wordColl.Count.ToString());
Ortalama hesap süresi : 00:00:00.0002817 (Yani 0.0002817 saniye)
Testlerin sonuç resmi :
Sonuç :
"Ölçüm 2", "Ölçüm 1" e göre 10,7724 kat daha hızlıdır.
////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bu teste pointer olan versiyonu koyarsak eminim Ölçüm 2'yi katlar geçer |
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
burakkanmaz yazdi | extreme yazdi | burakkanmaz yazdi |
"Ölçüm 2", "Ölçüm 1" e göre 10,7724 kat daha hızlıdır.
////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bu teste pointer olan versiyonu koyarsak eminim Ölçüm 2'yi katlar geçer |
Assembly ile yazarım görürsün kimmiş hızlı |
Yiyosa yaz |
Kovasına varmısın iddaya. Extreme menüyü unutmadın heralde. Bu kod daha kolay
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
burakkanmaz
Gaziantep
Kayıt: 02.10.2006 |
|
extreme yazdi
Hayır Yeterince KFC'yi zengin ettim zaten sizlere ısmarlamakla. Benim için artık KFC bitmiştir
piedro yazdi | 10 katta çok olmuş be Burak çım süper çalışma oldu;) |
Evet bende oha felan dedim Hiç beklemediğim kadar yüksek çıktı oran. Fakat şunu çok iyi öğrendim, string işlemlerinde C#'ın kendi yerleşik fonksiyonları daha verimliymiş.
|
|
Yazar |
|
neurorebel
Kayıt: 15.08.2007 |
|
piedro yazdi | neurorebel yazdi | Bildiğiniz gibi seçtiğiniz algoritma kötüyse unsafe pointer falan kurtarmaz :) .NET, Perl falan gibi araçların RegEx implementasyonlarının problemi bu :) PATRICIA Trees diye aradığınız zaman çok güzel bir veri yapısı öğreneceksiniz :) (Binary Radix Tree olarak da geçiyor) |
unsafe kodla, radix tree yi nasıl karşılaştırdın veya yan yana koydun anlamadım..(radix tree, 3.sınıf veri yapıları konusu olması lazım, yeni birşey değil) |
konu regular expressions olduğu için. anlayabilmek için bir parser yazmayı deneyebilirsin... demek istediğim, algoritman kötüyse unsafe pointer falan kullanarak programını optimize edemezsin.
Do weird and difficult things.
|
|
Yazar |
|
kellad
istanbul
Kayıt: 21.01.2006 |
|
Arkadaşlar regular expressions ayrı bir derya. Tüm kullanımı birkaç sayfa dokümanla anlatılabilir. Ama iş yazmaya gelince bazen bir satır regex yazmak koca bir program yazmak kadar uzun sürebilir. Mümkün olduğunca kullanmaya çalışın. Çok yerde karşınıza çıkacaktır.
Bu sayfada .Net için bazı örnekleri var,
http://www.windowsdevcenter.com/pub/a/oreilly/windows/news/csharp_0101.html
Bu site de çok işe yarar,
http://regexlib.com/CheatSheet.aspx
Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
Uzun zamandır yazamıyordum, fırsatını bulmuşken yazayım bari:)
Görüyorum ki code ile drift yapmaya çalışıyorsunuz:) Regex ifadeleri bana hep sinir bozucu gelmiştir, zaten amaç değil araç olan şeylere pek ilgim olmadı:) İsmine hasta olduğum regexBuddy aracım var bir adet, kendisi benim yerime regex leri hallediyor, işine karışmıyorum, size de tavsiye ederim:)
To Extreme Burak : Kendi kodunu yazman hoşuma gitti açıkçası:) Kendi verdiğim ödevleri hatırladım:) ODTÜ yarışması ne oldu?
To Normal Burak:) : Araştırmaktan sıkılınca haberim olsun:) MSP olarak ne zaman sunum yapıyorsun:)
Ayrıca C++ kodu ile C# kodu kıyaslanmaz, önemli olan algoritmadır. Nihayetinde .net kodlarıda bildiğiniz gibi native çalıştırılabilir koda derlenip saklanabiliyor. O yüzden JIT derleme zamanı diye bir kayıp olmayabilir de:)
Diğer taraftan MS en verimli kodu yazmıştır demek te olmaz Burak:) Framework ün açılan kodlarında komik durumlara denk gelmek mümkün:) Nihayetinde onu yazanda bir insan evladı:)
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
tarikkranda yazdi |
To Extreme Burak : Kendi kodunu yazman hoşuma gitti açıkçası:) Kendi verdiğim ödevleri hatırladım:) ODTÜ yarışması ne oldu?
|
Odtü sorularını çözüp gönderik hocam. c++ kullandık. reklam olsun diye grup adını iucoders koyduk
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
extreme yazdi |
Odtü sorularını çözüp gönderik hocam. c++ kullandık. reklam olsun diye grup adını iucoders koyduk |
Hadi bakalım:) Umarım istediğiniz sonucu alırsınız:) iucoders baya bir hit alacak anlaşılan ODTÜ den:)
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | |