Skip to Content
Shopify
Solutions
Start
Start your business
.
Build your brand
Create your website
.
Online store editor
Customize your store
.
Store themes
Find business apps
.
Shopify app store
Own your site domain
.
Domains & hosting
Explore free business tools
.
Tools to run your business
Sell
Sell your products
.
Sell online or in person
Check out customers
.
World-class checkout
Sell online
.
Grow your business online
Sell across channels
.
Reach millions of shoppers and boost sales
Sell globally
.
International sales
Sell wholesale & direct
.
Business-to-business (B2B)
Market
Market your business
.
Reach & retain customers
Market across social
.
Social media integrations
Chat with customers
.
Shopify Inbox
Nurture customers
.
Shopify Email
Know your audience
.
Gain customer insights
Manage
Manage your business
.
Track sales, orders & analytics
Measure your performance
.
Analytics and Reporting
Manage your stock & orders
.
Inventory & order management
Automate your business
.
Shopify Flow
Shopify Developers
.
Build with Shopify's powerful APIs
Plus
.
A commerce solution for growing digital brands
All Products
.
Explore all Shopify products & features
Pricing
Resources
Help and support
Help and support
.
Get 24/7 support
Business courses
.
Learn from proven experts
Popular topics
What is Shopify?
.
How our commerce platform works
Essential tools
Business name generator
.
Logo maker
.
Stock photography
.
Link in bio tool
.
QR code generator
.
What's new
Changelog
.
Your source for recent updates
Newsroom
.
All company news and press releases
Shopify
Engineering Blog
Development
Infrastructure
Mobile
Developer Tooling
Latest
More topics
Security
Data Science Engineering
Culture
Search
Type something you're looking for
Log in
Start free trial
CC
Author
Carol Chen
Development
Optimizing Ruby Lazy Initialization in TruffleRuby with Deoptimization
Mar 31, 2020
Work from anywhere
with Shopify
See our open roles and learn more about our digital by design culture.
See open roles