2011-08-30 26 views
9

İşyerinde bazı oldukça güçlü makineler kullanıyoruz: HP Z600, çift xeon @ 2.5GHz, 8-16GB ram. Ne yazık ki, kötü şirket politikalarına bağlı olarak, 32-bit XP'yi kullanmak zorundayız, bu yüzden kullanılmamış 4GB RAM'den bir PAE ramdrive yaptım.
Şimdi, geçici dosyalar ramdrive üzerindedir. Ayrıca tüm projeyi ramdrive'a, daha sonra bir SSD'ye taşımayı denedim, ancak barındırılan mod başlatma veya derleme zamanlarında dikkate değer bir gelişme olmadı.
Daha sonra SysInternals'ın İşlem İzleyicisi'ni çalıştırıp, görev yöneticisi/sabit disk etkinliğiyle karşılaştığınız herhangi bir darboğaz olup olmadığını görmek için çalıştırıyorum, ancak anlayamadığım bazı arabellek taşmaları hariç, dikkate değer hiçbir şey görmedim. ne demek istedikleri

OOMPH başlatma ve GWT derleme için performansın bağlı olduğunu varsayabilirim, bu yüzden derleme sürelerini çeşitli değişiklikler arasında karşılaştırma olarak kullanıyorum.
BIOS'ta hiper-iş parçacığı ve turbo desteği özelliğini etkinleştirdim ve devre dışı bıraktım, ancak yine de hiçbir fark görmedim. Hyperthreading her şeyi daha da yavaşlatıyor gibi görünse de, içerik değiştirme cezasının 8 çekirdekten 16 çekirdek için daha yüksek olduğunu varsayabilirim. Turbo-boost hiçbir şey yapmıyor gibi görünüyor, sadece Win7 altında çalışacağını varsayabilirim, sürücüyü aktive etmeyi başaramadım. Çekirdeği 2.5Ghz'den 2.8Ghz'ye artırmalı.
NTFS sürücülerindeki endeksleme ve zaman damgası devre dışı bırakıldı, performans ayarını ön plandan arkaplana ve arkasına değiştirdi, başka bir Eclipse örneği kullanıldı - değişiklik yok.
Derleme için farklı sayıda işçi, daha büyük bellek ve diğer bazı seçenekleri belirtmeyi denedim. İki işçinin üstündeki her şey derleme süresini artırır.
Eski HP makineleri (XW6600), belki 2.8GHz saatinden dolayı biraz daha hızlı derleniyor gibi görünüyor, ancak barındırılan modu daha yavaş çalışıyor gibi görünüyor.
GWT barındırılan mod/derleme süreleri nasıl geliştirilir?

Özetle, bellek kullanımı CPU etkinliği bilgisayar yine <% 10 (tek yaklaşık% 50-70 çekirdek) ama, bir diski fazla sinyal aktivitesini değildir belleği dosyası kullanımı sıfır, yaklaşık 2,6 GB olan OOMPH GWT'yi derlerken veya başlatırken bir süre hiçbir şey yapmıyor gibi görünüyor.
Tamam, şimdi bildiğim ve internette bulduğum her şeyi denedim, deneyebileceğim başka bir şey var mı? 64-bit Win7'ye geçiş yapacak olursak (bu gelecek yıl için de geçerlidir)? Değiştirebileceğim herhangi bir donanım/yazılım seçeneği var mı?

L.E .: Ayrıca çok uzun süren kesintilerin olup olmadığını görmek için RATT (MS'den izleyici) çalıştı, ancak her şey yolunda görünüyor. Antivirüs bir fark yaratmaz. I7 mobil cihazına (2630q) karşı bir başka GWT projesi kıyaslandı ve i7 aynı saate sahip olmasına rağmen yaklaşık% 70 daha hızlı.

+0

+ 1 Ayrıca bununla ilgileniyorum. Gözlemlerimden CPU'ya bağlı (CPU'yu% 100'e çıkarmasa bile) - Core 2 Duo 2GHz'den Core I3 2.6Ghz'e geçiş, başlangıç ​​modunu neredeyse yarıya düşürdü. (~ 60s'dan ~ 30s'a) –

cevap

8

Çoğu durumda, yavaş derleme/barındırılan mod yenileme nedeniyle karşılaştım, uygulamanın bu şekilde yazıldığı.Senin sınıf yolunda kullanılmayan sınıfları ve modülleri tutmak mümkünse GWT ön derleme aşamasında

  • whatch de onları yine de ayrıştırma çünkü bunları çıkarmayın

    • :

      derleme için dikkat edilmesi gereken birkaç şey var GWT-RPC tipi patlama için dışarı, bu tüm sorunlar nedeni

    • hep, arayüz ContextWithLokup gerçekten dikkatli olun bazı kontrol etmek
    • deneyin ContextWithLookup uzanır arayüzünde kullanılan yöntemlerin sayısını en aza indirmek için denemek genellikle Diğer derleme seçenekleri, distributed compilation, soft permutations veya çok jvm derleme gibi (sistem özelliğiyle derleyici çalıştırmak -Dgwt.jjs.permutationWorkerFactory = com.google.gwt.dev.ExternalPermutationWorkerFactory ve -localWorkers JVM'lerle sayısını belirtmek için)
    • barındırılan modu için

    : mümkünse

    • kullanın geç yükleme. Barındırılan modla ilgili en büyük sorun, bu uygulamanın, mevcut ekranda bile kullanılmayan çok fazla sınıfı başlatmaya çalıştığı, bunun büyük ölçüde barındırılan bir mod başlangıcını hızlandırabileceğini gördüm. Yine, RPC tipi patlama gibi şeyler de barındırılan modu etkilemektedir.

    Bu, önerebileceğim tek şeydir. Ram diski gibi şeyler -compileReport gibi şeyler hızlandırabilir, çünkü çok sayıda dosya üretebilir.

  • +0

    Kullanılmayan sınıflar hakkında güzel bir ipucu, bunu unutmuştum (ve zaten ön derleyiciyi geçersiz kıldık). Sadece 'tip patlaması' hakkında bilgi edinin ancak her zaman açıkça tanımlanabilen tipler tanımladık. Biz genellikle sadece bir permütasyon derleriz ve şikâyetim sadece bir tane (veya daha doğrusu preekpilasyon aşaması) derlemekle ilgilidir, bu yüzden dağıtılmış derleme çok yardımcı olmaz. Yerel işçiler neredeyse hiç farketmez. Tembel yükleme mümkün olduğu kadar yapılır, ancak bu noktadan itibaren yeniden baştan tasarlandığından, yeniden mimariyi gerektirir. Bir kez daha kullanılmayan modüller çok iyi bir ipucu! – brainwash