C++ ve actionscript ile ilgili dikkatimi çeken bir konu

Visual basic , Delphi , C , C++ - C++ ve actionscript ile ilgili dikkatimi çeken bir konu ...

Cevapla
C++ ve actionscript ile ilgili dikkatimi çeken bir konu
sevimsli isimli Üye şimdilik offline konumundadır

sevimsli

Hiç Biri / Yurtdışı

C++ ve actionscript ile ilgili dikkatimi çeken bir konu

Alt 08-01-2009 #1
Sponsorlu Bağlantılar

Geçenlerde actionscripte ek olarak yazdığım hesaplama yoğunluklu görev ile ilgili bir problemle karşılaştım . Yani nümerik kütüphaneler oluştururken performans ve profil oluşturucuları gerekli olduğunu farketmeden tampon server bellek ayarı yaptım .

Bunun sonucunda tek satırlık erişimci fonksiyonumda (X Y::f() { return myX_;} gibi istisnai durumla karşılaştım .

Şimdi yazarak kopyalama (ağır kopyalama) referans sayımı kullanan c++ da yaygın bir optimasyondur . Basitleştirilmiş karakter katarı ile c++ da ele aldığım string sınıflarını action script ile birleştirerek optimasyon tampon bellek server trafik hızı olarak ayarlamalar çekiyorum . Ancak bunun için c++ lazy copy yazarak kopyalama kod yöntemini uygulayıp as kod yapılarıyla oynamak durumunda kalıyorum.

Örneğin :c++ kodu
namespace Orginal
{
class string
{
public :
String(); /Boş başla
-String(); /Tamponu boşalt
String ( const String&); /Tam bir Kopya al ki yer kalsın
void Append (char) ; /Oyun karakteri ekle

................../Kodlar var

private :
char* buf_; /Ayrılan tampon ve hızı
size_t len_; /Tampon uzunluğu (arada sanaldan kurtulma işlemi var)
siz_t used_; /Gerçekten kullanılan karakter sayısına göre performans

Bu durumda çok kullanıcılı as destekli uygulamaya girildiğinde şu sorun karşıma çıkıyor En iyi tampon Büyüme Staratejisi nedir ?

Yani bunun için trafik hızını ayarlamak tampon belleği sanalda büyütüp serverı sanal degil local olarak kandırmak istediğimde elde ettiğim sonucun hangisinin kullanışlı olduğunu bulamıyorum .?

Bu işlemleri gerçekleştirirken Ya Tam büyüme (Yeni Tampon tam olarak o andaki işlem tarafından gerektiği kadar büyük) ya Sabit artışlı büyüme (O andaki işlem miktarından daha büyük) Yada üstel büyüme (İşlemin katsayısı kadar büyüme) sonucu elde ediyorum .

Paylaşılabilir Karakter katarı yazabilmek içinde ekstra çaba sarfediyorum üstel büyümede...

Hangisinin daha kullanışlı olduğunu bana açıklayacak arkadaşların acil yardımılarını bekliyorum...
Bu mesajdan alıntı yap
Sponsor Links

Grafikerler.net Reklamları

sevimsli isimli Üye şimdilik offline konumundadır

sevimsli

Hiç Biri / Yurtdışı

Standart
Alt 11-01-2009 #2
                             Sponsorlu Bağlantılar
Cevabı buldum

Cevap gene aslında hiçbiri tam bi kaynak sağlamıyo . Yani duruma göre optimasyon yapılacak .

Bir String nesnesi o andaki ayrılmış serverda tampondaki yeri tüketirse , daha büyük bir tampon yer ayırmak zorunda kalıyor. Çünkü as uygulamalarda analiz standart bir vektör gibi ayrılmış loading işlemleri için server trafik hızı ve alan tamponu kullanan diğer yapılar ve konteynerlar için geçerli durumla karşı karşı ya kalıyorum.

Bulduğum sonuç şu yazmış olduğum as uygulamalarında server yer kontrolünü program içerisinde şöle yapmakta karar kıldım.Şimdi server yer ayırmaların sayısı ve uygulama hız sonuç uzunluğunu N olacak bir karakter katarı için belirli bir karakter katarının kopyalanması gereken ortalama sayısı ile alakalı çıkıyo hep...

Bu durumdada Tam büyümede bir karakter eklemek ve ardından bi kararkter daha eklemek , iki ayrı yer ayırmayı server hızını ve loading olayını zorlaştırdı.Bunun ardından önce mevcut karakter , as ve katarı ile ilk yeni karakter için sahip olacak tampon ayarı yaptım. Yer israfı olmadı . Ama bu durumda server hızını ayarlayım derken actionscript içerisindeki kodları assemblyle değiştirdim c++ bana o(N) yer ayırma sağladı serverda , bende en kötü surumda sabit bir çarpanla , As kodun içerisindeki char başına 0(N) kopyalama yaparım dedim . Ama bu seferde string uygulayıcısının denetimi elimden gitti.

Sabit artışlı büyümeyi denedim.Sabit miktar kadar server yer oranını sabit yapınca 64 byte başlayan artış büyüklüğü gördüm. As içerisindeki tüm karakter katarları 64 byte ın katları olarak artmaya başladı . Ama yer israfı oldu çok küçükde olsa ama şu avantajı yakalamış oldum bu seferde Server tampon bellek hız kontrolü uygulamanın artış büyüklüğü ile sınırlandı , karakter katarı yada Kullanıcıların yığılması testi sonucunda değişiklik olmadı.Ama bu seferde ilkinden daha uzun uygulama loadingi gördüm .Yani actionscript içerisindeki katar 0(N) yer ayırma işlemi yaptı ama char başına ortalama 0(N) kopyalama gerçekleştirdi.Ama string katarlarını ve serverdaki trafik hız kontrolünü elime aldım.

Üstel büyümeyi denedim : Yeni serevr tampon bellek ve o andaki kullanım kadar F çarpanı ile büyüttüm serverı kandırıp trafik hzıını .F=.5 için halen 100byte uzunluğunda bir karakter katarı elde edip as üzerinde tüm uygulamalar aşırı derecede hızlandı.her uygulama için ve loading toplamaı 150byte uzunluğunda server yeni bir tampon bellek oluşturdu. 0(logN) yer ayırma ile işi hızlandırdım , as üzerindeki char katarına 0(1) kopyalama yaptırttım . Logaritmasıyla sabit trafik hız kontrolü , iyi performans , ve hissedilmeyecek ölçüde loading işlemleri soktum araya.Buda yer israfı yaptı .Kullanılmayan tampon yeri kaldı .Kalan tampon yeri her zamanda fonksiyonel olarak NxFbyte olarak kaldı değişmedi.Genede israf yaptık uygulamada.

Bunların hepsini denedim. Sonuç şu ki aslında hepsinin avantajı dezavantajı var .Duruma ve istediğin şeye göre değişiyor.Uygulama olarak online çok kullanıcılı oyunlar ile baz aldığımda trafik hızı , server tampon bellek ve uygulama hızını gene her zaman ya 0(N) yer israfı yada hız düşmesi olarak gördüm.Ama farklı bir durrum söz konusu ve ben yanılıyosam onu da açıklayacak arkadaşlara şimdiden teşekkür ederim.
Bu mesajdan alıntı yap
Cevapla

Tags
actionscript, bir, çeken, dikkatimi, ile, ilgili, konu

Benzer Konular
Konu Konu Bilgileri Forum Cevaplar Son Mesaj
fotoğraf çeken adam lazım acill halehale Vektörel 0 26-07-2008 19:00:10
nefes darlığı çeken yaşlı erkek resmi grafikerkartal Fotoğraf - Resim 0 06-03-2008 12:27:27
ActionScript ile Günleri Yazdırma Ali Emre Flash 0 14-09-2007 12:38:58
Flasha Yeni Başlayanlar İçin ActionScript ile Basit Örnekler Ali Emre Flash 0 14-09-2007 11:36:26

Kapat
Şifremi Unuttum?