Wednesday, July 1, 2009

Run your junit tests in parallel (with spring 3.0 and maven)

Swimming in a sea of patches...



Note; Most of the content in this post has been surpassed by a newer entry.

If you're willing to apply a few patches, you can now run your junit tests in parallel. There are two main use-cases for this; one is to make your regular unit tests run faster, the other is for io-bound tests, where you want to run several in parallel because you're waiting for external systems.

Just to whet your appetite, here are some numbers from a testcase (running 1000 instances of a simple unit-test-class):

Legend:
SC = SingleThreadedComputer (Computer, Junit47-snapshot class)
PC = ParallelComputer (ParallelComputer, Junit4.7-snapshot class)
CPC = ConfigurableParallelComputer (My project, see references)
C=Classes (one thread per class)
M=Methods (one thread per method)






































Core 2 duo 3.14GhzIntel i7 920
SC203451
PC(Classes, Method, Unlimited threads)406806
CPC(Methods,16 threads)218214
CPC(Classes, Unlimited threads)203116
CPC(Classes,Methods, Unlimited threads)266147

Running time in ms, 1000 simple tests

The table shows that for most dual-core solutions, running with parallel threads is currently never any faster than running non-threaded. Switching to the brand-new Intel i7 (4 hyperthreaded cores) has a marked effect, where simple unit test performance is doubled.

The lack of punch does, of course, change the moment your tests start doing IO (Integration tests, selenium tests and other web-tests).



The juicy stuff
svn co https://svn.openqa.org/svn/selenium-rc

Second build with mvn clean install: 102 seconds.
With 80 threads class-parallel on the i7: 37 seconds.

Class-parallel works easily on most tests.

A sea of patches


Getting all of this to work was not without its problems, though. To get this running, I had to patch just about half the libraries in use in my current stack. Furthermore, there's a huge difference between getting it to run and getting it to run without hiccups - every time. These patches insure that your infrastructure works as it should, but are your tests concurrent ?

Patches involved


See below for how to apply these patches in a simple manner.
Spring (3.0 trunk):
http://jira.springframework.org/browse/SPR-5863
AspectJ: Patch trunk with this patch (if using spring) (This patch is included in version 1.6.6)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=281654
Junit4.7:
Several patches needed for thread safety:
http://github.com/KentBeck/junit/issues#issue/16
http://github.com/KentBeck/junit/issues#issue/18
Maven: You need a patched version of surefire that supports junit 4.7:
http://jira.codehaus.org/browse/SUREFIRE-555
You'll also probably want to be using the ConfigurableParallelComputer instead of the ParallelComputer that's included with JUnit.
git://github.com/krosenvold/configurable-parallel-computer.git

With these patches in place you're smooth sailing ;)

Applying the patches


Note: If you did this on the pre rc1 version of this patchset, I recommend that you start from a fresh copy of everything this time.
If you're using maven you could try this sequence:

git clone git://github.com/krosenvold/spring-framework-concurrent-junit-patch.git
git clone git://github.com/krosenvold/junit.git
git clone git://github.com/krosenvold/configurable-parallel-computer.git
git clone git://github.com/krosenvold/spring-test.git
git clone git://github.com/krosenvold/spring-concurrency-test.git
cd junit
ant
cd ../spring-framework-concurrent-junit-patch
./installJunit
cd ../spring-test
mvn install
cd ../configurable-parallel-computer
mvn install
cd ../spring-framework-concurrent-junit-patch
./checkoutSurefire
./buildSureFire
./applySureFirePatch
./buildSureFire




cd ../spring-concurrency-test
mvn install # Test project to verify that everything is ok


Your new versions


JUnit should be modified to 4.7-CONCURRENT
spring-test should have version number 3.0.0.RC1-CONCURRENT
Surefire should be modified to 2.5-SNAPSHOT
You must update your aspectj version to 1.6.6 in your project. Spring does a transitive
include on 1.6.5

You can see the version number for the spring artifacts when building spring. Probably something like 3.0.0.BUILD-20091005102426

Maven surefire settings



<plugin>
<artifactid>maven-surefire-plugin</artifactid>
<version>2.5-SNAPSHOT</version>
<configuration>
<parallel>classes</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
<threadCount>80</threadCount>
<perCoreThreadCount>true</perCoreThreadCount>
</configuration>
</plugin>


UnlimitedThreads knocks out threadCount and perCoreThreadCount.

Look at the various "install" scripts to see the version numbers of the artifacts.
Simple, eh ?

And while we're at it: Half of the work with patching these projects has been about fighting with version control systems and custom made build scripts. So please; switch to GIT and maven: I can build any maven project without reading as much as a readme file. Maven allows me as a casual bystander to *easily* make contributions; I never need to read that 4 page "how to build" manual! Git is the only version control tool that respects my right/duty to patch, change and upgrade other projects. It allows me to do all these things without having to *ask* anyone. Repeat after me: Git and maven encourages free collaboration; a key idea of open source, right ?

http://twitter.com/krosenvold

158 comments:

  1. i have go through your article and bit eager to know what will need to use ANT instead of Maven. share some screenshots also if possible
    for selenium hands on practice Best selenium training institute in chennai

    ReplyDelete
  2. Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.

    machine learning training in chennai
    machine learning course in Chennai
    machine learning training center in chennai
    best training insitute for machine learning
    Android training in Chennai
    PMP training in chennai

    ReplyDelete
  3. If you want best home theater under 5000-10000 then go on. https://www.arecious.com/

    ReplyDelete
  4. If you want best bluetooth speakers with affordable price rate then go on https://www.arecious.com/

    ReplyDelete
  5. While composing the last paper of your last B.Com test, a plenty of considerations experience your psyche. A great deal of these contemplations incorporate plans about resting for a whole week or celebrating for a whole week, contingent upon your individual inclinations. Be that as it may, trust us, none of that is really going to happen in light of the fact that when you complete your tests your folks, relatives, neighbours, and even your Facebook companions will begin getting some information about your feasible arrangements. What's more, don't mistake them for your gathering or dozing plans since they are alluding to your vocation Career after B com plans. In the present focused world, you are offered with many profession improving courses. On the off chance that you are not happy with the profession or course you decided for yourself at that point there are some present moment yet high worth – low speculation courses accessible in the market.

    ReplyDelete
  6. Nice Post
    For Data Science training in Bangalore, Visit:
    Data Science training in Bangalore

    ReplyDelete
  7. The part I find interesting is the more or less complete separation of comments here, keep it up for more update about this related blog. Visit OGEN Infosystem for creative and responsive Website Designing and also for SEO and PPC Services.
    Website Designing Company

    ReplyDelete
  8. this blog is very helpfull and contain good knowledge
    also visit my website for music
    Tum Hi Aana From Marjaavaan Song

    ReplyDelete
  9. this article is very infomartive and helpfull
    also visit my website for songs
    Tum Hi Aana From Marjaavaan Song

    ReplyDelete
  10. These provided information was really so nice,thanks for giving that post and the more skills to develop after refer that post.selenium training in bangalore

    ReplyDelete
  11. I am a regular reader of your blog and I find it really informative. Hope more Articles From You.Best Tableau tutorial videos with Real time scenarios . hope more articles from you.

    ReplyDelete
  12. Like HostGator, they would also offer you with free migration from your old server to the new server. They also provide free SSL certificates on all the sites hosted on their servers. This Black Friday Web Hosting Deals 2019, they are offering a 60 % discount on shared hosting. On the other hand, you can avail 50% discount on various VPS solutions.

    ReplyDelete
  13. It’s really great information for becoming a better Blogger. Keep sharing, Thanks...

    Bangalore Training Academy located in BTM - Bangalore, Best Informatica Training in Bangalore with expert real-time trainers who are working Professionals with min 8 + years of experience in Informatica Industry, we also provide 100% Placement Assistance with Live Projects on Informatica.

    ReplyDelete
  14. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job. Keep it up...

    Upgrade your career Learn AWS Training from industry experts get Complete hands-on Training, Interview preparation, and Job Assistance at Softgen Infotech Located in BTM Layout.

    ReplyDelete
  15. Enjoyed reading the article above, really explains everything in detail,the article is very interesting and effective.Thank you and good luck…

    Start your journey with DevOps Course and get hands-on Experience with 100% Placement assistance from experts Trainers @Softgen Infotech Located in BTM Layout Bangalore.

    ReplyDelete
  16. I am really happy to say it’s an interesting post to read. I learn new information from your article, you are doing a great job. Keep it up…

    Are you looking for Best Training Institute for Data Warehousing Training center in BTM? Bangalore Training Academy Training provides Data Warehousing course, live project with job placement by experienced faculties.

    ReplyDelete
  17. Thanks a lot for sharing it, that’s truly has added a lot to our knowledge about this topic. Have a more success ful day. Amazing write-up, always find something interesting and here i want to share some thing about mulesoft training online .

    ReplyDelete
  18. Thanks for your excellent blog and giving great kind of information. So useful. Nice work keep it up thanks for sharing the knowledge.
    Visit us
    Click Here
    For More Details
    Visit Website
    See More

    ReplyDelete
  19. I am really impressed with your blog article, such great & useful knowledge you mentioned here. Your post is very informative. Also check out the best web development company in Kolkata | web hosting company in Kolkata | best hotel management colleges in Kolkata

    ReplyDelete
  20. Wonderful thanks for sharing an amazing idea. keep it...

    Start your journey with RPA Training in Bangalore and get hands-on Experience with 100% Placement assistance from experts Trainers @Softgen Infotech Located in BTM Layout Bangalore. Expert Trainers with 8+ Years of experience, Free Demo Classes Conducted.

    ReplyDelete
  21. Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing.. i Want to share Some data regarding the websphere tutorial with free bundle videos is provided.

    ReplyDelete
  22. We as a team of real-time industrial experience with a lot of knowledge in developing applications in python programming (7+ years) will ensure that we will deliver our best in python training in vijayawada. , and we believe that no one matches us in this context.

    ReplyDelete
  23. This comment has been removed by the author.

    ReplyDelete
  24. Snapdeal Winner List 2020 here came up with an Offer where you can win Snapdeal prize list by just playing a game & win prizes.
    Snapdeal winner name also check the Snapdeal lucky draw

    ReplyDelete
  25. Thanks for posting such an useful and informative stuff...

    Learn Tableau Online

    ReplyDelete
  26. This comment has been removed by the author.

    ReplyDelete
  27. Well I definitely enjoyed reading it. This tip procured by you is very constructive for correct planning.

    event management companies
    event management companies in delhi

    ReplyDelete
  28. snapdeal here thought of an Offer where you can win exceptional snapdeal prize by simply playing a game and win prizes Call @7596886123"
    Snapdeal winner 2020
    Snapdeal lucky draw tatasafari 2020
    Snapdeal lucky winner list 2020
    Snapdeal lucky draw 2020

    ReplyDelete
  29. Snapdeal winner list here an offer you can win the Snapdeal lucky draw.Here you can win the Snapdeal winner list 2020 and Snapdeal winner list. Snapdeal lucky draw where you can win the prize just playing the game.You can also check Snapdeal winner name and Snapdeal winner name 2020

    ReplyDelete
  30. click here for more info.
    ..........................................................

    ReplyDelete
  31. I'm very pleased to uncover this web site. I want to to thank you for your time due to this fantastic read!! I definitely loved every little bit of it and i also have you bookmarked to look at new information in your site.
    Tech news

    ReplyDelete
  32. Awesome blog I enjoyed reading your articles. This is really informative post.
    I am also sharing some nice stuff to you guys please go through it and take a review.
    software developer
    software developer in india
    software developers
    hire a virtual assistant
    vitual assistant
    hiring a virtual assistant
    hiring virtual assistants

    ReplyDelete


  33. Thanks for sharing such a great information.It is really one of the finest article and more informative too. I want to share some informative data about .net training and c# training . Expecting more articles from you .

    ReplyDelete
  34. Shopclues lucky draw 2020| Shopclues winner 2020|Get to Know Shopclues Lucky Draw Winner 2020. Call Shopclues Helpline Phone Number+91-9835565523 for Shopclues Online Shopping Lucky Draw.
    Shopclues online lucky draw winner
    Shopclues winner 2020
    shopclues car lucky draw

    ReplyDelete
  35. Poker online situs terbaik yang kini dapat dimainkan seperti Bandar Poker yang menyediakan beberapa situs lainnya seperti http://62.171.128.49/hondaqq/ , kemudian http://62.171.128.49/gesitqq/, http://62.171.128.49/gelangqq/, dan http://62.171.128.49/seniqq. yang paling akhir yaitu http://62.171.128.49/pokerwalet/. Jangan lupa mendaftar di panenqq silakan dicoba ya boss

    ReplyDelete
  36. I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about sap bi tutorial for beginners it and I love learning more about this topic.

    ReplyDelete
  37. Awesome article, it was exceptionally helpful! I simply began in this and I'm becoming more acquainted with it better. The post is written in very a good manner and it contains many useful information for me. Thank you very much and will look for more postings from you.


    digital marketing blog
    digital marketing bloggers
    digital marketing blogs
    digital marketing blogs in india
    digital marketing blog 2020
    digital marketing blog sites
    skartec's digital marketing blog
    skartec's blog
    digital marketing course
    digital marketing course in chennai
    digital marketing training
    skartec digital marketing academy

    ReplyDelete
  38. Thanks for sharing such a great information..Its really nice and informative..

    sapui5 tutorial

    ReplyDelete
  39. Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing..

    sap bw online training

    ReplyDelete
  40. thanks for sharing this informative article
    please visit this site for famous celebrities biography
    https://www.wrixtech.com/

    ReplyDelete
  41. Hello there! This is my first comment here, so I just wanted to give a quick shout out and say I genuinely enjoy reading your articles.

    india seo service company
    Hire Data Scientists
    front end web developer
    Front End Developer

    ReplyDelete
  42. It's really a nice and useful piece of information about Selenium. I'm satisfied that you shared this helpful information with us.Please keep us informed like this. Thank you for sharing.


    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  43. First of all I would like to thank you for writing this post I love both writing and reading new posts and I was just looking at new posts to see me something new, only then I saw your post and the rest of the post is praiseworthy.
    sofeeya.com

    ReplyDelete
  44. Very interesting blog Thank you for sharing such a nice and interesting blog and really very helpful article.

    Salesforce Admin Training in Bangalore

    ReplyDelete
  45. one of the best blog ever that i seen in whole life and thank you for this blog
    i love this blog and it has own value that is more than other on this topic

    snapdeal lucky draw
    snapdeal lucky draw contact
    snapdeal lucky draw helpline
    snapdeal lucky draw 2020
    snapdeal lucky draw online
    snapdeal lucky draw number


    ReplyDelete
  46. one of the best blog ever that i seen in whole life and thank you for this blog
    i love this blog and it has own value that is more than other on this topic

    snapdeal lucky draw
    snapdeal lucky draw contact
    snapdeal lucky draw helpline
    snapdeal lucky draw 2020
    snapdeal lucky draw online
    snapdeal lucky draw number


    ReplyDelete
  47. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.

    vmware training in bangalore

    vmware courses in bangalore

    vmware classes in bangalore

    vmware training institute in bangalore

    vmware course syllabus

    best vmware training

    vmware training centers

    ReplyDelete
  48. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot.

    Tableau Online Training

    Tableau Classes Online

    Tableau Training Online

    Online Tableau Course

    Tableau Course Online

    ReplyDelete
  49. Forex Signals, MT4 and MT5 Indicators, Strategies, Expert Advisors, Forex News, Technical Analysis and Trade Updates in the FOREX IN WORLD

    Forex Signals Forex Strategies Forex Indicators Forex News Forex World

    ReplyDelete
  50. https://digitalmarketermadhan.wordpress.com/2020/04/22/top-10-alternative-search-engines-to-google/

    ReplyDelete
  51. I was following your blog regularly and this one is very interesting and knowledge attaining. Great effort ahead. you can also reach us for Digital Marketing

    ReplyDelete
  52. Shopclues lucky draw
    hopclues Lucky Draw, Shopclues Online Lucky Draw,Shopclues Lucky draw contact Number, Shopclues Lucky Draw Head Department Customer care contact number, Shopclues lucky Draw, winners 2020, Shopclues lucky Draw 2020 , Shopclues lucky draw 2020, Shopclues Lucky Draw winners list 2020, Shopclues tata safari winners,. Dear customers if you get any call or sms from Shopclues. They might discuss about the prize and tell you to fill the registration fee. Before filling up the registration fee Whatsapp us on no. CALL US ON 7044235014 in our Shopclues prize department. This is our prize department number. You will get complete information from here. There is no need to call you in the service center because they have information about sales and Purchase only. Any information about the prize will be available only from whatsapp no. 7044235014 and contact number 7044235014.

    Shopclues Lucky Draw Announces 1st Winner Of The Day. Shopclues lucky draw offers you to win first (A Brand New TATA SAFARI CAR). Besides Shopclues coupons page is the right place for you to find the best discount that are presented on the best products. categories and retailers that you have ever wanted to purchase.
    You have good opportunity to Win Swift Dzire Car on Occation. Participate in Shopclues Lucky Draw and win latest Model of vehicles such as cars, Bikes, Electronics (Goods) item And Much More. Winners get mobilephones,washing machines, home theatres and mega prize from Shopclues Lucky Draw.Shopclues lucky draw helpline number.
    Shopclues Lucky Draw Announces Winners of Lucky Draw Contest and Encourages Customers to win KTM & Duke Bikes. The contest offered customers a great opportunity to win some fabulous such as House, mobile phones, washing machines and, home theatre systems. There were five megas of motorcycles as well.
    Shopclues lucky draw operates the Shopclues.com website, which provides the SERVICE.
    This page is used to inform website visitors regarding our policies with the collection, use, and disclosure of Personal Information if anyone decided to use our Service, the Shopclues lucky draw Tata Safari shopshopping cart website.
    If you choose to use our Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that we collect are used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy.
    The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Shopclues.com, unless otherwise defined in this Privacy Policy.

    ReplyDelete
  53. Shopclues lucky draw
    hopclues Lucky Draw, Shopclues Online Lucky Draw,Shopclues Lucky draw contact Number, Shopclues Lucky Draw Head Department Customer care contact number, Shopclues lucky Draw, winners 2020, Shopclues lucky Draw 2020 , Shopclues lucky draw 2020, Shopclues Lucky Draw winners list 2020, Shopclues tata safari winners,. Dear customers if you get any call or sms from Shopclues. They might discuss about the prize and tell you to fill the registration fee. Before filling up the registration fee Whatsapp us on no. CALL US ON 7044235014 in our Shopclues prize department. This is our prize department number. You will get complete information from here. There is no need to call you in the service center because they have information about sales and Purchase only. Any information about the prize will be available only from whatsapp no. 7044235014 and contact number 7044235014.

    Shopclues Lucky Draw Announces 1st Winner Of The Day. Shopclues lucky draw offers you to win first (A Brand New TATA SAFARI CAR). Besides Shopclues coupons page is the right place for you to find the best discount that are presented on the best products. categories and retailers that you have ever wanted to purchase.
    You have good opportunity to Win Swift Dzire Car on Occation. Participate in Shopclues Lucky Draw and win latest Model of vehicles such as cars, Bikes, Electronics (Goods) item And Much More. Winners get mobilephones,washing machines, home theatres and mega prize from Shopclues Lucky Draw.Shopclues lucky draw helpline number.
    Shopclues Lucky Draw Announces Winners of Lucky Draw Contest and Encourages Customers to win KTM & Duke Bikes. The contest offered customers a great opportunity to win some fabulous such as House, mobile phones, washing machines and, home theatre systems. There were five megas of motorcycles as well.
    Shopclues lucky draw operates the Shopclues.com website, which provides the SERVICE.
    This page is used to inform website visitors regarding our policies with the collection, use, and disclosure of Personal Information if anyone decided to use our Service, the Shopclues lucky draw Tata Safari shopshopping cart website.
    If you choose to use our Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that we collect are used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy.
    The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Shopclues.com, unless otherwise defined in this Privacy Policy.

    ReplyDelete
  54. I read this article. I think You put a lot of effort to create this article. I appreciate your work.https://klickbazar.com

    ReplyDelete
  55. Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging.After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.
    https://www.3ritechnologies.com/course/microsoft-azure-training-in-pune/

    ReplyDelete
  56. Railway Online Mock Test Best Maths, Reasoning, General Knowledge (GK) and English Visit us: JAINAND DIGITAL POINT

    ReplyDelete
  57. Railway Online Mock Test Best Maths, Reasoning, General Knowledge (GK) and English Visit us: JAINAND DIGITAL POINT

    ReplyDelete
  58. Nice post!

    Worried About QuickBooks Error ?Get in touch with QuickBooks expert for instant solution.
    Click Here to know how to fix QuickBooks Error 8007

    Dial on QuickBooks Error Phone Number +1-855-977-7463.

    ReplyDelete
  59. Online Ticket Booking all type of best online ticket booking experience. JAINAND DIGITAL POINT provide you is lowest prices.

    ReplyDelete
  60. This blog was very nicely formatted; it maintained a flow from the first word to the last. Roy Batty Coat

    ReplyDelete
  61. Mother dairy franchise
    Mother Dairy Franchise: Dairy has become a part of Indian food culture. It does not matter whether it is breakfast, lunch or dinner, dairy is always present in one form or the other. It can be in the form of milk, curd, cottage cheese or just some ice cream after dinner. Mother Dairy is a brand that has made a place for itself in the dairy sector. With its wide range of good quality products, it has managed to gain a loyal customer base. By adhering to its tagline ‘Happy Food, Happy People’. Mother dairy, with its diverse range of products, has been successfully managing to cater to people of all ages and all demographics. Continuously growing at a rapid pace, the company is letting its presence known in various big cities of the country and especially in the north part of India.

    ReplyDelete
  62. Mother dairy product distributor
    Distributor of breast milk products: if we are wondering whether or not to invest in Mother Dairy, it must be said that the distribution margin of Mother Dairy is quite large. You can expect a 30% ROI from the very first year of operation and it will take around 2 years for a franchisee to break even. A person wishing to invest in a Mother Dairy Distributor can make a profit of around Rs 44,000 per month.

    About Mother Dairy Company: “Mother Dairy” is the largest milk brand in India and Asia, marketing approximately 4.45 million liters of milk per day in 2013. Mother Dairy has 62% market share in the organized sector in and around Delhi mainly due to consistent quality and service - regardless of crisis flood, transport, strike, curfew etc. Mother Dairy was the first dairy in the country to implement the ISO-14031 (Environmental Performance Assessment) project. The company's quality assurance laboratory is ISO / IEC - 17025: 1999 certified by the National Accreditation Board for Testing and Calibration Laboratory (NABL), Department of Science & Technology, India. This guarantees the consumer the quality and safety of the products produced and marketed by Mother Dairy.
    https://motherdairydistributor.network/Mother-dairy-distributorship.php

    ReplyDelete
  63. Thank you for sharing such a nice and informative Blog.
    food delivery app development

    ReplyDelete
  64. Great Post with valuable information. I am glad that I have visited this site. Share more updates.
    Firebase Training Course
    English Speaking Course Online
    jira online training

    ReplyDelete
  65. This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post.
    Chris Evans Knives Out Coat

    ReplyDelete
  66. nice Post thanks for the information, good information & very helpful for others.
    Oracle Fusion HCM Training
    Sailpoint Certification

    ReplyDelete
  67. Dermaklinic's Institute for Aesthetic Studies (DIAS), a brain child of Dr. Neeraj Pandey (MBBS, MD Dermatology, FADS International Skin Centre, Singapore), came into being to meet the ever-growing demand of skilled professionals in the field of dermatology. Our courses are designed with expertise to hone the skills of the students by imparting sound technical knowledge. Keeping ourselves abreast with the global trends we endeavor to create a capable and efficient support team for the aesthetic industry.
    :
    Register today to begin your career!
    -
    website: https://www.thedias.org/
    Contact Number: +917703000777
    Emails: info@thedias.org / knockdiasforsuccess@gmail.com

    ReplyDelete
  68. Great information!!! Thanks for your wonderful informative blog.
    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete
  69. Situs Nonton movie, film dan tv series terbaru dengan subtitle indonesia diupdate setiap hari, dari situs terpopuler nonton disini link
    di bawah ini
    layarkaca21
    bioskopkeren
    daymovie
    terbit21
    boomthis

    Situs judi online terpercaya
    http://199.188.201.133
    http://162.213.251.13
    bonekaqq
    indoqq99
    sahabatqq

    ReplyDelete
  70. It's difficult to find experienced individuals about this subject, yet you seem like you hear what you're saying! Much obligednews updates

    ReplyDelete
  71. Hi , Thank you so much for writing such an informational blog. If you are Searching for latest Jackets, Coats and Vests, for more info click on given link-Rip Wheeler Jacket

    ReplyDelete
  72. Great blog you’ve got here.. It’s hard to find quality writing like yours these days.
    I really appreciate people like you! Take care!! DESKTOP-I238E5L

    ReplyDelete
  73. Best Schools in Etah, best schools in Chandpur. Dr Lokmandas Public School rank in Top Schools in Etah, Chandpur. It is best CBSE School in Etah.

    ReplyDelete
  74. provides the quality service of customized fiber connections in the case of large businesses and government entities. bella swan jacket

    ReplyDelete
  75. https://mytriptobirbilling.blogspot.com/2019/04/bir-billing-paragliding.html?showComment=1644559995449#c2827855315664474916
    tourist places in Himalayan you can enjoy the picturesque view surrounded by beautiful mountains and valleys with your favorite cup of coffee.

    ReplyDelete
  76. Thanks for your information. If any of your reader is interested knowing this: How to analyze the mood of a Lyricist by understanding the lyrics they write, is an obvious questions people ask. For such queries you can refer the links here.
    Lyrics and Ringtones collection
    ghungroo toot gaye lyrics
    muskurane ki vajah tum ho lyrics

    ReplyDelete
  77. I appreacite all your efforts that you made to publish this post. I like the concept and your clear thoughts about the topic. Please keep delivering such good practice in future. I'm a digital marketer and I share knowledge about Search Engine Optimization, Blogging, Wordpress, Make Money Online, etc. and today I was looking for the exact information that you have shared in your post. Thanks
    domain name kya hota hai free domain ke nuksaan
    expired domains kya hote hain fayade aur nuksan

    ReplyDelete
  78. What a good post. Keep up the good work. These types of posts are gems of the right information. We are roup of people who share information related to Angel Number, Angel Number meaning and Symbolism, Angelic Music etc. We are also interested in the post like you share. Please keep up the good work.
    616 angel number meaning
    941 angel number meaning

    ReplyDelete
  79. Architects in Pune with many areas expanding rapidly. The cost of land here is still more economical than some other major Indian cities, which makes Pune an attractive place to invest in property. Who will miss this opportunity?

    ReplyDelete
  80. Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that The content of your post is awesome. documentary filmmakers

    ReplyDelete
  81. Your blog provided us useful information to work on. You have done a extraordinary job! Job seekers database

    ReplyDelete
  82. These step so town majority really. Finally book theory laugh.career-news

    ReplyDelete
  83. For all the different nodes this could easily cost thousands a콜미출장샵 month, require lots of ops knowledge and support, and use up lots of electricity. To set all this up from scratch could cost one to four weeks of developer time depending on if they know the various stacks already. Perhaps you'd have ten nodes to support.

    ReplyDelete
  84. Managed Microsoft azure billing partner services allows you to manage billing, reporting,

    ReplyDelete