Top Advantages Of Using Virtual Number For Your Business

iiit-bh.in

A virtual phone system lets you separate your personal and professional calls, but still gives you the flexibility and cost savings of operating your home business using your cell phone if you want. While there are plenty of virtual phone systems out there advertising themselves as the ideal partnership for home-based businesses, there are five key features that will help you identify companies worth your hard-earned dollars. It can be dangerous to give out your phone number to people you don’t know, and that’s normally the case when a website asks you for your phone number. Fortunately, just like with anonymous email addresses and debit cards, you can also grab an anonymous, virtual phone number to mask your real number.When you use a virtual phone number, only that number is known, not your real number, even though the virtual number might ring your real phone to establish the phone call. Anyone you call, and anyone who calls your virtual number, cannot see your real phone number. Check for Advantages Of Using Virtual Number For Your Business in Linkedphone

Here is a list of the best virtual and anonymous phone services that are perfect for both business and personal use:

Linked Phone

Linked Phone is totally free and gives you access to a completely different phone number that you can use to make and receive calls and texts.Linked Phone works on a computer and via their mobile app. When someone calls your virtual number, it’s forwarded to whatever phone you want it forwarded to (you can even have calls forwarded to multiple numbers at once).Then, you can pick up the phone on any of your forwarded numbers that are ringing, and your caller won’t know your actual number. You can even prevent incoming calls from ringing your phones and just send all requests to voicemail.Making calls works similarly through the app or website.

Some other features include the regular ones like voicemail and call screening. More »

Virtual Phone

Virtual Phone is a service that offers both local and toll-free numbers in over 120 countries and includes features like call recording, SMS, call schedules, voicemail, fax, IVR, call forwarding, and more.Virtual Phone is really easy to set up compared to the other services in this list. The web dashboard is simple to use for managing your account, and the mobile app makes it easy to send texts and make phone calls wherever you may be.Virtual Phone also works as a web button so that you can put a special code on your website for your visitors to instantly call you using your virtual number.Virtual Phone is free for the first 100 minutes or text messages but does not renew and requires a purchase after the limits have been reached. There’s a pay-as-you-go plan and several others depending on how many texts and minutes you require. More »

Vumber

With Vumber, you can choose a virtual phone number from any area code, so you can choose a local one or one from a different area (or even a toll-free number), and it will all work the same.To receive calls, anyone can call your virtual number and it will ring your phone like a normal call. If you want to make a phone call with your anonymous number, just call your Vumber number from the phone you’ve registered as a forwarding number.When your phone rings, you can decide to take it, send it to voicemail, play a tone, put it on hold, and a few other options.Vumber is not free but it does offer a 14-day trial for any of its three plans. Each plan includes the same features as the others but with a different number of phone numbers, you can use plus a different number of minutes that the plan supports.You can check out their current prices when you choose your Vumber plan. Only US and Canadian numbers are supported by a forwarding number. More »

Tossable Digits

Tossable Digits is a paid service that gives out an anonymous number and features like call forwarding, rules, recording, caller ID control, and screening; voicemail; do not disturb; RoboCall blocking; etc.There are over half a million virtual numbers you can choose from in over 60 countries, including toll-free numbers.There are four plans you can choose from, each with a different number of virtual numbers you can use and a different number of minutes supported by the plan. The pay-as-you-go plan lets you choose how many virtual numbers and minutes are available as you need them.Each Tossable Digits plan supports unlimited SMS for US and Canadian numbers. More »

Talkroute

Choose a toll-free or local number with Talkroute to get a virtual phone service that you can use to mask your real phone number when making or receiving phone calls and texts.Much like some of these other virtual and anonymous phone number services in this list, Talkroute supports mobile devices with their free app.One important feature to note is that you can forward and route incoming calls to your virtual number to any other phone number or even a sequence of numbers in a calling line to make sure the caller can reach someone.There are also customized greetings, hold music, audio prompts, and similar features that make Talkroute perfect for business users.Talkroute gives you unlimited minutes when you buy one of their plans, plus limited or unlimited texts depending on the plan you choose. All of the plan features can be seen in the link below.There are three Talkroute plans you can choose from, with each plan progressively including more features. For example, the Basic plan is the least expensive and does not include caller ID, a call menu, scheduled forwarding, or live call transfers like the Pro plan supports. More »

eVoice

eVoice stands out as a virtual phone number service in that voicemail sent to the virtual number can be transcribed as text and emailed to you so that you don’t even have to listen to voicemails anymore.There’s also call routing, greetings, conference calling abilities, the option to buy a local or toll-free number, and access to the eVoice mobile app.eVoice has four plans you can choose from, with the least expensive offering 300 monthly minutes with two extensions and six virtual numbers, and the most expensive giving out 4,000 monthly minutes with 15 extensions and 45 numbers. More »

What Is Search Engine Optimization Content Management

For Digital Marketing Companies Check Vivid Digital

Now that you have published your articles, content management comes into play. When it comes to content management, an SEO is mostly concerned about the accessibility of the content.

Choose the Correct Redirects

There will be times when you need to move domains or pages. If you want to prevent an overdose of 404-errors in Webmaster Tools you should implement redirects.

The two major redirects are 302 and 301. Webmasters often use a 302 redirect to send traffic to a new URL. Unfortunately this is seen as a temporary redirect so it passes no link juice to the new page. This means that the new page starts with a clean link profile. That’s why it’s best to use a 301 redirect. This is a permanent redirect that passes most link juice to the redirected page. For SEO Agency in London visit Vivid SEO

Add Structured Data

To make our content more useful for search engines, we can add structured data. Structured data is information formatted in a universally understandable way. By tagging specific pieces of text, search engines can understand the underlying meaning of it.

You can use microdata, microformats or RFDa to implement structured data. This markup is used by search engines to display rich snippets (e.g a star-rating, thumbnail, video duration, etc.). This can improve the CTR of you pages.

Great Design isn’t Always Crawlable

Not all content is accessible for search engines. As the title says: a beautiful page isn’t necessarily a page that’s optimized for search engines. A designer wants a page that looks good, whilst the SEO wants a page that can easily be crawled. The challenge is to combine these two approaches.

Problems can arise when certain page elements, for example a call-to-action or a discount-banner, are implemented as images. This allows the designer to easily manipulate fonts, textures, gradients, etc. But as a result, important information in the call to action or banner can’t be crawled because it’s embedded in the image.

Thankfully this problem can be solved with a combination of HTML and CSS. By using code instead of an image, these elements are fully crawlable. Web fonts are also handy for creating a visually appealing website (so you don’t have to use images as a work around). Google has a large collection of open source web fonts that you can use free of charge.

Another technique is the mouse-over effect. This is a great way to add crawlable content to an image. The example below combines the visual preference of the designer (the images) with the crawlable content for the SEO (the excerpt via the mouse-over effect).

Create Social Media Marketing Goals That Solve Your Biggest Challenges

icadl2013.org.in

The first step to any strategy is to understand what you want out of your efforts. Social media marketing isn’t about flipping a switch and calling it a day. Instead, social media planning should be looked at like cooking your favorite dish.Once you have your ingredients, you follow a recipe and presto! But that’s not always the case. What if you have guests and need to feed more people? What if someone is allergic to one of the ingredients? Suddenly, your goal goes from making a meal to ensuring it will feed enough people and be edible by all.

That’s why creating goals is so critical to the first part of your social media strategy. At the same time, it’s best to set goals that you know are attainable. Asking for 1 million new Instagram followers in 2018 is unrealistic. With achievable goals, you’re more likely to stick to the original plan and continue to take on new hurdles as you complete old ones.This is the same reason why brands should never take on every social media channel possible in their current marketing strategy. Try to choose the channels that have the most importance based on your brand’s goals. Avoid over complicating a strategy with too many targets and objectives. Simplicity can take you a long way. For SEO Agency in London visit Vivid SEO

And also, don’t forget to document your social media goals. Not only is it important to help you benchmark where you are, but it also improves your chances of achieving them. According to some statistics, people who write their goals down are 30 times more successful.

Social Media Goals to Consider in 2018

Goal setting is a staple of all marketing and business strategies. Social media is no exception. Of course, with a range of social capabilities, it can be difficult to determine exactly what your objectives should be. For guidance, here are some common social media goals to consider:

A. Increase brand awareness: To create authentic and lasting brand awareness, avoid a slew of promotional messages. Instead, focus on meaningful content and a strong brand personality through your social channels.

B. Higher quality of sales: Digging through your social channels is nearly impossible without monitoring or listening to specific keywords, phrases or hashtags. Through more efficient social media targeting, you reach your core audience much faster.

C. Drive in-person sales: Some retailers rely on social media marketing efforts to drive in-store sales. Is your brand promoting enough on social to reward those who come to you? What about alerting customers to what’s going on in your stores?

D. Improve ROI: There’s not a brand on social media that doesn’t want to increase its return on investment. But on social, this goal is specific to performing a thorough audit of your channels and ensuring cost of labor, advertisements and design stay on track. Digital Marketing Companies visit here

E. Create a loyal fanbase: Does your brand promote user-generated content? Do your followers react positively without any initiation? Getting to this point takes time and effort with creating a positive brand persona on social.

F. Better pulse on the industry: What are your competitors doing that seems to be working? What strategies are they using to drive engagement or sales? Having a pulse on the industry could simply help you improve your efforts and take some tips from those doing well.

Tougher Approval ; H1B Visa Extension Rule Changes

kazembassy.in

The H1B non-immigrant work visa continues to attract the attention of the Trump administration, and even without any new legislation there is wave of new rules and regulations. The most recent targets the H1B visa ‘extension’ process, making it tougher for existing H1B visa workers to renew their visa. This has previously been an easy approval but now that is all changing.

The Facts

A. The H1B visa is valid for three years, once the petition is approved

B. The visa can be extended for an additional one to three years, and in some cases longer

C. The basis for extension since 2004 was nearly automatic, and the burden was on the USCIS to show a reason to deny an extension

D. As of October 22, 2017, that rule has been modified to place the burden on the petitioner for any extension

New Rule Mean

Previously, eligibility for an H1B extension was based on the original petition, and no re-application of supporting documents and qualifications was required. Now, the new rule requires USCIS officers to scrutinize applications for extensions just as they would an original petition. It is essentially the same as submitting a new petition. The justification is as always to “protect the interests of US workers”. Check for H1B Visa Evaluation in UT Evaluators

The result of this change means:

A. Longer lead times to submit extension applications, due to assembling paperwork and USCIS review

B. Existing H1B visa workers are no longer guaranteed an extension, and may be caught off guard or won’t have time to process the extension prior to expiration

C. Some workers in positions that no longer qualify for new H1B visas (entry level computer programmers) will have their extensions denied

D. HR departments at large tech firms employing many H1B workers will have to increase their workload to assemble the extension applications

The Purpose of This Rule Change Is

The unstated purpose seems to be to ‘weed out’ current H1B workers who would be rejected if they were submitting a new petition. This could include many workers that are currently employed by outsourcing firms, and contracted out to other companies. Many of those workers (and their employers) were probably assuming that they would escape the barrage of H1B administrative reforms, since their petition was already previously approved.

For example, an entry level computer programmer who was hired two years ago, is now facing the almost certain prospect that any extension application will be denied. It is unlikely that these workers were planning to return home, and has a very real impact on the outsourcing companies that employ them.

It is definitely a blow to firms like Infosys and Wipro who were probably not factoring in a new level of intense scrutiny for extensions, and thinking that they could rely on their existing pool of current H1B visa workers.

Just an Internal Memo Made This Rule Change

This rule change was implemented by a simple internal memorandum within USCIS. It does illustrate the effectiveness of working within current immigration laws, and making internal agency regulations more difficult to comply with. For H1B Visa Process Visit here

This approach is aligned with the Trump administration’s overall H1B visa strategy, to make as many administrative changes as possible to restrict access to the program, by unqualified or low wage workers. This saves the time and political capital of pushing new legislation forward, and can be done with the stroke of a pen.

The good news is that new H1B petitioners are on the same playing level as existing H1B workers, so there is no advantage if a foreign national is already working in the US. Please contact us for assistance in finding a sponsor and position in your specialty occupation.

H1B Visa Extensions not Under Threat, According to USCIS

Check for H1B Visa Evaluation in UT Evaluators

A spokesperson from the United States Citizenship and Immigration Services (USCIS) has stated that extensions to the H1B visa program are not under threat, as was widely reported at the start of January.

“USCIS is not considering a regulatory change that would force H1B visa holders to leave the United States by changing our interpretation of section 104(c) of AC-21, which provides for H1B extensions beyond the 6 year limit,” said Jonathan Withington, Chief of Media Relations for USCIS.

The news has resulted in a collective sigh of relief among the community of technology professionals seeking extensions to their time in the country. However, Homeland Security has stated that it was still conducting a thorough review of worker visa programs. For H1B Visa Process Visit here

Officials have said that the policy change for H1B extensions was never planned at all, although some reports say the administration changed its mind in response to the swift and harsh reaction from the business community.The work visa program has long been a political hot potato in the United States, with some politicians repeatedly calling for it to be scrapped, arguing that it led to job losses for Americans.

Each year, the USCIS grants roughly 85,000 H1B visas, which are issued for up to six years. Once expired, visa holders that have applied for green cards routinely seek extensions under the American Competitiveness Act.

What Is Norm-Referenced And Criterion-Referenced Evaluation

Two alternative approaches to educational testing that must be thoroughly understood are norm-referenced testing and criterion-referenced testing. Although there are similarities between these two approaches to testing, there are also fundamental differences between norm and criterion referenced testing.There have been disputations about the relative virtues of norm and criterion-referenced measurements for a long time. However, a fundamental fact is recognised by most of concerned people that norm-referenced and criterion-referenced testing are complementary approaches. Check for Educational Evaluations in US at UT Evaluators

(i) Criterion-Referenced Evaluation:

When the evaluation is concerned with the performance of the individual in terms of what he can do or the behaviour he can demonstrate, is termed as criterion- referenced evaluation. In this evaluation there is a reference to a criterion.But there is no reference to the performance of other individuals in the group. In it we refer an individual’s performance to a predetermined criterion which is well defined.

Examples:

(i) Raman got 93 marks in a test of Mathematics.

(ii) A typist types 60 words per minute.

(iii) Amit’s score in a reading test is 70.

A simple working definition of Criterion-Referenced Evaluation :

A criterion-referenced test is used to ascertain an individual’s status with respect to a defined achievement domain.In the above examples there is no reference to the performance of other members of the group. Thus criterion-referenced evaluation determines an individual’s status with reference to well defined criterion behaviour.

It is an attempt to interpret test results in terms of clearly defined learning outcomes which serve as referents (criteria). Success of criterion-reference test lies in the delineation of all defined levels of achievement which are usually specified in terms of behaviourally stated instructional objectives.

The purpose of criterion-referenced evaluation/test is to assess the objectives. It is the objective based test. The objectives are assessed, in terms of behavioural changes among the students.Such type of test assesses the ability of the learner in relation to the criterion behaviour. Glasar (1963) first used this term, ‘Criterion-reference test’ to describe the learner’s achievement on a performance continuum.Hively and Millman (1974) suggested a new term, ‘domain-referenced test’ and to them the word ‘domain’ has a wider connotation. A criterion referenced test can measure one or more assessment domain.

(ii) Norm Referenced Evaluation:

Norm-referenced evaluation is the traditional class-based assignment of numerals to the attribute being measured. It means that the measurement act relates to some norm, group or a typical performance.It is an attempt to interpret the test results in terms of the performance of a certain group. This group is a norm group because it serves as a referent of norm for making judgements.

Test scores are neither interpreted in terms of an individual (self-referenced) nor in terms of a standard of performance or a pre-determined acceptable level of achievement called the criterion behaviour (criterion-referenced). The measurement is made in terms of a class or any other norm group.Almost all our classroom tests, public examinations and standardised tests are norm-referenced as they are interpreted in terms of a particular class and judgements are formed with reference to the class. Educational Evaluations in US visit here

Examples:

(i) Raman stood first in Mathematics test in his class.

(ii) The typist who types 60 words per minute stands above 90 percent of the typists who appeared the interview.

(iii) Amit surpasses 65% of students of his class in reading test.

A simple working definition Norm Referenced Evaluation :

A norm-referenced test is used to ascertain an individual’s status with respect to the performance of other individuals on that test.In the above examples, the person’s performance is compared to others of their group and the relative standing position of the person in his/her group is mentioned. We compare an individual’s performance with similar information about the performance of others.

That is why selection decisions always depend on norm- referenced judgements. A major requirement of norm-referenced judgements is that individuals being measured and individuals forming the group or norm, are alike. In norm-referenced tests very easy and very difficult items are discarded and items of medium difficulty are preferred because our aim is to study relative achievement.

Benefits and Security Of Cloud Computing

But there’s another, more precise meaning of cloud computing: the virtualization and central management of data center resources as software-defined pools. This technical definition of cloud computing describes how public cloud service providers run their operations. The key advantage is agility: the ability to apply abstracted compute, storage, and network resources to workloads as needed and tap into an abundance of pre-built services. Check for Benefits and Security Of Cloud Computing in Linkedphone

From a customer perspective, the public cloud offers a way to gain new capabilities on demand without investing in new hardware or software. Instead, customers pay their cloud provider a subscription fee or pay for only the resources they use. Simply by filling in web forms, users can set up accounts and spin up virtual machines or provision new applications. More users or computing resources can be added on the fly—the latter in real time as workloads demand those resources thanks to a feature known as auto-scaling.

Benefits of cloud computing

The cloud’s main appeal is to reduce the time to market of applications that need to scale dynamically. Increasingly, however, developers are drawn to the cloud by the abundance of advanced new services that can be incorporated into applications, from machine learning to internet-of-things connectivity.Although businesses sometimes migrate legacy applications to the cloud to reduce data center resource requirements, the real benefits accrue to new applications that take advantage of cloud services and “cloud native” attributes. The latter include microservices architecture, Linux containers to enhance application portability, and container management solutions such as Kubernetes that orchestrate container-based services. Cloud-native approaches and solutions can be part of either public or private clouds and help enable highly efficient devops-style workflows.

Cloud computing security

Objections to the public cloud generally begin with cloud security, although the major public clouds have proven themselves much less susceptible to attack than the average enterprise data center. Of greater concern is the integration of security policy and identity management between customers and public cloud providers. In addition, government regulation may forbid customers from allowing sensitive data off premises. Other concerns include the risk of outages and the long-term operational costs of public cloud services.

H1B Visa Refusal on Rise under Administrative Processing by US Immigration

There has been an increase in the number of ‘administrative processing’ cases under the 221G section of the US Immigration and Nationality Act, restricting re-issuance of H1B Visa to those who hold jobs in the United States, according to some sources. Reportedly, a number of Indians in information technology, who have been holding H1B visas and working in USA for some years, got stuck in India on their recent visit as their applications to the US consulates in India were placed under administrative processing for an additional background check and security clearance. Check for H1B Visa Evaluation in UT Evaluators

Administrative Processing is not outright refusal of one’s H1B visa application. It is temporary refusal, but it may be frustrating. US Visa consulting experts opine that administrative processing is not an uncommon incidence. The primary objective of issuing temporary refusals to some H1B visa applicants or holders is to seek additional information or documents from them for closer scrutiny.

According to off-site employment and immigration experts, administrative processing under the 221G section of the US Immigration and Nationality Act affects only 2% of H1B visa holders or new applicants. However, this incidence has increasingly been reported over the past few months.

If you are unlucky to face such refusal of your H1B visa application or renewal, you may be required to wait several weeks for the final outcome. The waiting period may be stretched for a few months or years in the worst cases of administrative processing. Even a previously approved H1B visa application may be revoked in this case.

The documents of those placed under the 221G section of the US Immigration and Nationality Act are forwarded to such agencies as FBI, CIA, DEA, Interpol, the US Department of Commerce, and the US Department of Treasury’s Office of Foreign Assets Control for a thorough background check. H1B Visa Process Check here

The documents that H1B visa holders and new applicants are required to provide in case of administrative processing include but not limited to the following:

.Job offer letter or employment agreement from the employer

.Duly signed letter from the client validating the beneficiary’s assignment

.Detailed project description mostly for in-house projects

.Contract between the petitioner and the client or mid-vendor

.Details of services that the beneficiary is required to perform, work sites and dates

.Valid evidence of the beneficiary’s previous work experience and educational qualifications

.Financial documents including both the beneficiary and the petitioner’s tax returns and pay statements

If you are an H1B visa holder and planning to travel to outside of USA especially when the visa is awaiting renewal in the near future, make sure to carry all the relevant documents required for hassle-free visa stamping to reenter the US.

Benefits & Features Of Cloud Based Phone System

Most organizations have for the longest time relied on traditional phone systems which are time-consuming an expensive, but since the introduction of cloud based business phone system, all of this has changed. A cloud system is one that allows you to upload all your information and details online such that you can easily access it online. Check for Benefits & Features Of Cloud Based Phone System in Linkedphone

Features of a Great Cloud Phone System

Auto Attendant

A lot of organizations that receive a lot of calls have embraced auto phone attendants. This is an important business phone system especially if you do not have a dedicated person who answers phone calls. The auto attendant receives calls and provides the caller with the different options on how to be assisted plus allowing call transfers.

Auto Call Forwarding

Instead of having to do this manually, the cloud based business phone system automatically transfer calls to other devices till the call is answered. This makes it easy to serve clients and ensure that you maximize on the number of calls that you receive.

Flexibility

This saves time and makes multitasking so much easier. One can easily upload call details on the cloud which makes it accessible on the internet via a mobile device. This allows one to be mobile instead of being stuck at a desk all the time. Benefits of Cloud Hosting

Simplicity

There is no complicated set up required for cloud systems nor does it take up space as everything is stored on an online server.

Increased Efficiency

Integrating your business phone system enhances connectivity such that employees can communicate easily and effectively. It is easy to get access to different people whether they are in the office or not which greatly improves their ability to get work done more effectively.

Better Customer Service

Cloud phone systems allows for virtual receptionists and auto attendants which provides a platform for calls to be redirected where they can be attended to. This is done automatically which allows the organization to ensure that their customers are well attended to.

Ensures Continuity

As the systems are uploaded online, there are no external factors that could affect communications. This ensures that the business phone system is always online throughout which means that customers are always attended to, and communications are well done.

Cloud based business phone system is affordable, easy and as efficient. This allows you to always be connected and to ensure that you can always communicate within your organization and with your clients and customers. The benefits will lead to a lot of production and increased communication which is essential in any business. Cebod Telecom provides cloud-based telephony solutions for small to mid-sized enterprises, and larger companies delivering high- quality voice, premium features and unified communications. Cebod Telecom offers a state-of-the-art Pay-Per-Line business phone service model. This pricing model empowers businesses to pay per line as opposed to pay-per-user in the company.

JavaScript Start-up Performance

As web developers, we know how easy it is to end up with web page bloat. But loading a webpage is much more than shipping bytes down the wire. Once the browser has downloaded our page’s scripts it then has to parse, interpret & run them. In this post, we’ll dive into this phase for JavaScript, why it might be slowing down your app’s start-up & how you can fix it.

Historically, we just haven’t spent a lot of time optimizing for the JavaScript Parse/Compile step. We almost expect scripts to be immediately parsed and executed as soon as the parser hits a <script> tag. But this isn’t quite the case. Here’s a simplified breakdown of how V8 works:

A simplified view of how V8 works. This is our idealized pipeline that we’re working towards.

Let’s focus on some of the main phases.

What slows our web apps from booting up?

Parsing, Compiling and Executing scripts are things a JavaScript engine spends significant time in during start-up. This matters as if it takes a while, it can delay how soon users can interact with our site. Imagine if they can see a button but not click or touch it for multiple seconds. This can degrade the user experience.

Parse & Compile times for a popular website using V8’s Runtime Call Stats in Chrome Canary. Notice how a slow Parse/Compile on desktop can take far longer on average mobile phones.

Start-up times matter for performance-sensitive code. In fact, V8 – Chrome’s JavaScript engine, spends a large amount of time parsing and compiling scripts on top sites like Facebook, Wikipedia and Reddit:

The pink area (JavaScript) represents time spent in V8 and Blink’s C++, while the orange and yellow represent parse and compile.

Parse and Compile have also been highlighted as a bottleneck by a number of large sites & frameworks you may be using. Below are tweets from Facebook’s Sebastian Markbage and Google’s Rob Wormald:

Sam Saccone calls out the cost of JS parse in ‘Planning for Performance’

As we move to an increasingly mobile world, it’s important that we understand the time spent in Parse/Compile can often be 2–5x as long on phones as on desktop. Higher-end phones (e.g the iPhone or Pixel) will perform very differently to a Moto G4. This highlights the importance of us testing on representative hardware (not just high-end!) so our users’ experiences don’t suffer.

Parse times for a 1MB bundle of JavaScript across desktop & mobile devices of differing classes. Notice how close a high-end phone like an iPhone 7 is to perf on a Macbook Pro vs the performance as we go down the graph towards average mobile hardware.

If we’re shipping huge bundles for our app, this is where endorsing modern bundling techniques like code-splitting, tree-shaking and Service Worker caching can really make a huge difference. That said, even a small bundle, written poorly or with poor library choices can result in the main thread being pegged for a long time in compilation or function call times. It’s important to holistically measure and understand where our real bottlenecks are.

What Are JavaScript Parse & Compile bottlenecks for the average website?

“Buuuut, I’m not Facebook”, I hear you say dear, reader. “How heavy are Parse & Compile times for average sites out in the wild?”, you might be asking. Let’s science this out!

I spent two months digging into the performance of a large set of production sites (6000+) built with different libraries and frameworks — like React, Angular, Ember and Vue. Most of the tests were recently redone on WebPageTest so you can easily redo them yourself or dig into the numbers if you wish. Here are some insights. For Website development services check Vivid Designs

Apps became interactive in 8 seconds on desktop (using cable) and 16 seconds on mobile (Moto G4 over 3G)

What contributed to this? Most apps spent an average of 4 seconds in start-up (Parse/Compile/Exec)..on desktop.

On mobile, parse times were up to 36% higher than they were on desktop.

Was everyone shipping huge JS bundles? Not as large as I had guessed, but there’s room for improvement. At the median, developers shipped 410KB of gzipped JS for their pages. This is in line with the 420KB over ‘average JS per page’ reported by the HTTPArchive. The worst offenders were sending anywhere up to 10MB of script down the wire. Oof.

HTTPArchive stat: the average page ships down 420KB of JavaScript

Script size is important, but it isn’t everything. Parse and Compile times don’t necessarily increase linearly when the script size increases. Smaller JavaScript bundles generally do result in a faster load time (regardless of our browser, device & network connection) but 200KB of our JS !== 200KB of someone else’s and can have wildly different parse and compile numbers.

Measuring JavaScript Parse & Compile today

Chrome DevTools

Timeline (Performance panel) > Bottom-Up/Call Tree/Event Log will let us drill into the amount of time spent in Parse/Compile. For a more complete picture (like the time spent in Parsing, Preparsing or Lazy Compiling), we can turn on V8’s Runtime Call Stats. In Canary, this will be in Experiments > V8 Runtime Call Stats on Timeline.

Chrome Tracing

about:tracing — Chrome’s lower-level Tracing tool allows us to use the `disabled-by-default-v8.runtime_stats` category to get deeper insights into where V8 spends its time. V8 have a step-by-step guide on how to use this that was published just the other day.

WebPageTest

WebPageTest’s “Processing Breakdown” page includes insights into V8 Compile, EvaluateScript and FunctionCall time when we do a trace with the Chrome > Capture Dev Tools Timeline enabled.

We can now also get out the Runtime Call Stats by specifying `disabled-by-default-v8.runtime_stats` as a custom Trace category (Pat Meenan of WPT now does this by default!).

For a guide on how to get the most out of this, see this gist I wrote up.

User Timing

It’s possible to measure Parse times through the User Timing API as Nolan Lawson points out below:

The third <script> here isn’t important, but it’s the first <script> being separate from the second (performance.mark() starting before the <script> has been reached) that is.

This approach can be affected on subsequent reloads by V8’s preparser. This could be worked around by appending a random string to the end of the script, something Nolan does in his optimize-js benchmarks.

I use a similar approach for measuring the impact of JavaScript Parse times using Google Analytics:

A custom Google Analytics dimension for ‘parse’ allows me to measure JavaScript parse times from real users and devices hitting my pages in the wild.

DeviceTiming

Etsy’s DeviceTiming tool can help measure parse & execution times for scripts in a controlled environment. It works by wrapping local scripts with instrumentation code so that each time our pages are hit from different devices (e.g laptops, phones, tablets) we can locally compare parse/exec. Daniel Espeset’s Benchmarking JS Parsing and Execution on Mobile Devicesgoes into more detail on this tool.

What can we do to lower our JavaScript parse times today?

  • Ship less JavaScript. The less script that requires parsing, the lower our overall time spent in the parse & compile phases will be.
  • Use code-splitting to only ship the code a user needs for a route and lazy load the rest. This probably is going to help the most to avoid parsing too much JS. Patterns like PRPL encourage this type of route-based chunking, now used by Flipkart, Housing.com and Twitter.
  • Script streaming: In the past, V8 have told developers to use `async/defer` to opt into script streaming for parse-time improvements of between 10–20%. This allows the HTML parser to at least detect the resource early, push the work to the script streaming thread and not halt the document parsing. Now that this is done for parser-blocking scripts too, I don’t think there’s anything actionable we need to do here. V8 recommend loading larger bundles earlier on as there’s only one streamer thread (more on this later)
  • Measure the parse cost of our dependencies, such as libraries and frameworks. Where possible, switch them out for dependencies with faster parse times (e.g switch React for Preact or Inferno, which require fewer bytes to bootup and have smaller parse/compile times). Paul Lewis covered framework bootup costs in a recent article. As Sebastian Markbage has also noted, a good way to measure start-up costs for frameworks is to first render a view, delete and then render again as this can tell you how it scales. The first render tends to warm up a bunch of lazily compiled code, which a larger tree can benefit from when it scales.

If our JavaScript framework of choice supports an ahead-of-time compilation mode (AoT), this can also help heavily reduce the time spent in parse/compile. Angular apps benefit from this for example: Top web development company in Hyderabad visit Vivid Designs 

Nolan Lawson’s ‘Solving the Web Performance Crisis’

What are browsers doing to improve Parse & Compile times today?

Developers are not the only ones to still be catching up on real-world start-up times being an area for improvement. V8 discovered that Octane, one of our more historical benchmarks, was a poor proxy for real-world performance on the 25 popular sites we usually test. Octane can be a poor proxy for 1) JavaScript frameworks (typically code that isn’t mono/polymorphic) and 2) real-page app startup (where most code is cold). These two use-cases are pretty important for the web. That said, Octane isn’t unreasonable for all kinds of workloads.

The V8 team has been hard at work improving start-up time and we’ve already seem some wins here:

We also estimate a 25% improve on V8 parse times for many pages looking at our Octane-Codeload numbers:

And we’re seeing wins in this area for Pinterest too. There are a number of other explorations V8 has started over the last few years to improve Parsing and Compile times.

Code caching

From using V8’s code caching

Chrome 42 introduced code caching — a way to store a local copy of compiled code so that when users returned to the page, steps like script fetching, parsing and compilation could all be skipped. At the time we noted that this change allowed Chrome to avoid about 40% of compilation time on future visits, but I want to provide a little more insight into this feature:

  • Code caching triggers for scripts that are executed twice in 72 hours.
  • For scripts of Service Worker: Code caching triggers for scripts that are executed twice in 72 hours.
  • For scripts stored in Cache Storage via Service Worker: Code caching triggers for scripts in the first execution.

So, yes. If our code is subject to caching V8 will skip parsing and compiling on the third load.

We can play around with these in chrome://flags/#v8-cache-strategies-for-cache-storage to look at the difference. We can also run Chrome with — js-flags=profile-deserialization to see if items are being loaded from the code cache (these are presented as deserialization events in the log).

One caveat with code caching is that it only caches what’s being eagerly compiled. This is generally only the top-level code that’s run once to setup global values. Function definitions are usually lazily compiled and aren’t always cached. IIFEs (for users of optimize-js ;)) are also included in the V8 code cache as they are also eagerly compiled.

Script Streaming

Script streaming allows async or defer scripts to be parsed on a separate background thread once downloading begins and improves page loading times by up to 10%. As noted earlier, this now also works for sync scripts.

Since the feature was first introduced, V8 have switched over to allowing all scriptseven parser blocking <script src=””> to be parsed on a background thread so everyone should be seeing some wins here. The only caveat is that there’s only one streaming background thread and so it makes sense to put our large/critical scripts in here first. It’s important to measure for any potential wins here.

Practically, <script defer> in the <head> so we can discover the resource early and then parse it on the background thread.

It’s also possible to check with DevTools Timeline whether the correct scripts get streamed — if there’s one big script that dominates the parse time, it would make sense to make sure it’s (usually) picked up by the streaming.

Better Parsing & Compiling

Work is ongoing for a slimmer and faster Parser that frees up memory and is more efficient with data structures. Today, the largest cause of main thread jank for V8 is the nonlinear parsing cost. Take a snippet of UMD:

(function (global, module) { … })(this, function module() { my functions })

V8 won’t know that module is definitely needed so we won’t compile it when the main script gets compiled. When we decide to compile module, we need to reparse all of the inner functions. This is what makes V8’s parse-times non-linear. Every function at n-th depth is parsed n times and causes jank.

V8 are already working on collecting info about inner functions during the initial compile, so any future compilations can ignore their inner functions. For module-style functions, this should result in a large perf improvement.

See ‘The V8 Parser(s) — Design, Challenges, and Parsing JavaScript Better’ for the full story.

V8 are also exploring offloading parts of JavaScript compilation to the background during startup.

Precompiling JavaScript?

Every few years, it’s proposed engines offer a way to precompile scripts so we don’t waste time parsing or compiling code pops up. The idea is if instead, a build-time or server-side tool can just generate bytecode, we’d see a large win on start-up time. My opinion is shipping bytecode can increase your load-time (it’s larger) and you would likely need to sign the code and process it for security. V8’s position is for now we think exploring avoiding reparsing internally will help see a decent enough boost that precompilation may not offer too much more, but are always open to discussing ideas that can lead to faster startup times. That said, V8 are exploring being more aggressive at compiling and code-caching scripts when you update a site in a Service Worker and we hope to see some wins with this work.

We discussed precompilation at BlinkOn 7 with Facebook and Akamai and my notes can be found here.

The Optimize JS lazy-parsing parens ‘hack’

JavaScript engines like V8 have a lazy parsing heuristic where they pre-parse most of the functions in our scripts before doing a complete round of parsing (e.g to check for syntax errors). This is based on the idea that most pages have JS functions that are lazily executed if at all.

Pre-parsing can speed up startup times by only checking the minimal a browser needs to know about functions. This breaks down with IIFEs. Although engines try to skip pre-parsing for them, the heuristics aren’t always reliable and this is where tools like optimize-js can be useful.

optimize-js parses our scripts in advance, inserts parenthesis where it knows (or assumes via heuristics) functions will be immediately executed enabling faster execution. Some of the paren-hacked functions are sure bets (e.g IIFEs with !). Others are based on heuristics (e.g in a Browserify or Webpack bundle it’s assumed all modules are eagerly loaded which isn’t necessarily the case). Eventually, V8 hopes for such hacks to not be required but for now this is an optimization we can consider if we know what you’re doing.

V8 are also working on reducing the cost for cases where we guess wrong, and that should also reduce the need for the parens hack

Conclusions

Start-up performance matters. A combination of slow parse, compile and execution times can be a real bottleneck for pages that wish to boot-up quickly. Measure how long your pages spend in this phase. Discover what you can do to make it faster.

We’ll keep working on improving V8 start-up performance from our end as much as we can. We promise 😉 Happy perfing!

Source